From 720378cfd6c4e8b4dfa40802ff6abf920a08d3fc Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Tue, 16 Sep 2025 21:18:08 +0000 Subject: [PATCH 01/21] Add Indicator and time based strategy --- server/package.json | 5 +- server/src/app.module.ts | 4 +- server/src/common/constants/side.ts | 1 + .../indicator-strategy-history.entity.ts | 43 + server/src/common/enum/signaltype.ts | 5 + server/src/common/helpers/strategyKey.ts | 1 + .../strategy/adminStrategy.service.spec.ts | 4 +- .../admin/strategy/adminStrategy.service.ts | 3 +- .../exchangeInit/exchangeInit.service.ts | 456 +- .../modules/strategy/strategy.controller.ts | 92 +- server/src/modules/strategy/strategy.dto.ts | 23 +- .../src/modules/strategy/strategy.module.ts | 11 +- .../src/modules/strategy/strategy.service.ts | 520 +- .../strategy/time-indicator.service.ts | 283 + .../src/modules/strategy/timeIndicator.dto.ts | 106 + server/yarn.lock | 16371 +++++++++------- 16 files changed, 10667 insertions(+), 7261 deletions(-) create mode 100644 server/src/common/constants/side.ts create mode 100644 server/src/common/entities/indicator-strategy-history.entity.ts create mode 100644 server/src/common/enum/signaltype.ts create mode 100644 server/src/modules/strategy/time-indicator.service.ts create mode 100644 server/src/modules/strategy/timeIndicator.dto.ts diff --git a/server/package.json b/server/package.json index 4d326983..5077433b 100644 --- a/server/package.json +++ b/server/package.json @@ -54,7 +54,7 @@ "bcrypt": "^5.1.1", "bignumber.js": "^9.1.2", "cache-manager": "^4.0.0", - "ccxt": "^4.1.98", + "ccxt": "^4.4.92", "class-transformer": "^0.5.1", "class-validator": "^0.14.1", "coingecko-api-v3": "^0.0.29", @@ -116,5 +116,6 @@ ], "coverageDirectory": "../coverage", "testEnvironment": "node" - } + }, + "packageManager": "yarn@4.9.1" } diff --git a/server/src/app.module.ts b/server/src/app.module.ts index 4b6e5199..424e8007 100644 --- a/server/src/app.module.ts +++ b/server/src/app.module.ts @@ -66,6 +66,7 @@ import { AdminController } from './modules/admin/admin.controller'; import { SpotdataTradingPair } from './common/entities/spot-data.entity'; import { SpotdataModule } from './modules/spotdata/spotdata.module'; import { MetricsModule } from './modules/metrics/metrics/metrics.module'; +import { IndicatorStrategyHistory } from './common/entities/indicator-strategy-history.entity'; dotenv.config(); @@ -125,8 +126,9 @@ dotenv.config(); GrowdataSimplyGrowToken, GrowdataArbitragePair, GrowdataMarketMakingPair, + IndicatorStrategyHistory, ], - synchronize: false, + synchronize: true, ssl: process.env.POSTGRES_SSL === 'true', }), ScheduleModule.forRoot(), diff --git a/server/src/common/constants/side.ts b/server/src/common/constants/side.ts new file mode 100644 index 00000000..da76f9f0 --- /dev/null +++ b/server/src/common/constants/side.ts @@ -0,0 +1 @@ +export type Side = 'buy' | 'sell'; diff --git a/server/src/common/entities/indicator-strategy-history.entity.ts b/server/src/common/entities/indicator-strategy-history.entity.ts new file mode 100644 index 00000000..45eb3018 --- /dev/null +++ b/server/src/common/entities/indicator-strategy-history.entity.ts @@ -0,0 +1,43 @@ +import { + Entity, + Column, + PrimaryGeneratedColumn, + CreateDateColumn, +} from 'typeorm'; +import { Side } from '../constants/side'; + +@Entity({ name: 'indicator_strategy_history' }) +export class IndicatorStrategyHistory { + @PrimaryGeneratedColumn('uuid') + id!: string; + + @Column() + userId!: string; + + @Column() + clientId!: string; + + @Column() + exchange!: string; + + @Column() + symbol!: string; + + @Column({ type: 'float' }) + price!: number; + + @Column({ type: 'float' }) + amount!: number; + + @Column({ type: 'varchar' }) + side!: Side; + + @Column({ type: 'varchar', default: 'timeIndicator' }) + strategy!: string; + + @Column({ nullable: true }) + orderId?: string; + + @CreateDateColumn() + executedAt!: Date; +} diff --git a/server/src/common/enum/signaltype.ts b/server/src/common/enum/signaltype.ts new file mode 100644 index 00000000..5040f660 --- /dev/null +++ b/server/src/common/enum/signaltype.ts @@ -0,0 +1,5 @@ +export enum SignalType { + NONE = 'none', + CROSS_UP = 'cross_up', + CROSS_DOWN = 'cross_down', +} diff --git a/server/src/common/helpers/strategyKey.ts b/server/src/common/helpers/strategyKey.ts index e41dd009..a2c18158 100644 --- a/server/src/common/helpers/strategyKey.ts +++ b/server/src/common/helpers/strategyKey.ts @@ -3,6 +3,7 @@ export interface StrategyKey { | 'arbitrage' | 'pureMarketMaking' | 'volume' + | 'timeIndicator' | 'alpaca-arbitrage' | 'alpaca-futures-arbitrage' | 'alpaca-options-arbitrage'; diff --git a/server/src/modules/admin/strategy/adminStrategy.service.spec.ts b/server/src/modules/admin/strategy/adminStrategy.service.spec.ts index c32cbabf..24ccd21b 100644 --- a/server/src/modules/admin/strategy/adminStrategy.service.spec.ts +++ b/server/src/modules/admin/strategy/adminStrategy.service.spec.ts @@ -152,7 +152,7 @@ describe('AdminStrategyService', () => { numTrades: 5, userId: 'user123', clientId: 'client123', - pricePushRate:0 + pricePushRate: 0, }, }; @@ -167,7 +167,7 @@ describe('AdminStrategyService', () => { startStrategyDto.volumeParams.numTrades, startStrategyDto.volumeParams.userId, startStrategyDto.volumeParams.clientId, - startStrategyDto.volumeParams.pricePushRate + startStrategyDto.volumeParams.pricePushRate, ); }); diff --git a/server/src/modules/admin/strategy/adminStrategy.service.ts b/server/src/modules/admin/strategy/adminStrategy.service.ts index 59edff66..a1d78ade 100644 --- a/server/src/modules/admin/strategy/adminStrategy.service.ts +++ b/server/src/modules/admin/strategy/adminStrategy.service.ts @@ -55,7 +55,8 @@ export class AdminStrategyService { volumeParams.numTrades, volumeParams.userId, volumeParams.clientId, - volumeParams.pricePushRate + volumeParams.pricePushRate, + volumeParams.postOnlySide, ); } else { throw new BadRequestException('Invalid strategy parameters'); diff --git a/server/src/modules/exchangeInit/exchangeInit.service.ts b/server/src/modules/exchangeInit/exchangeInit.service.ts index f0aea0f6..6837ccf6 100644 --- a/server/src/modules/exchangeInit/exchangeInit.service.ts +++ b/server/src/modules/exchangeInit/exchangeInit.service.ts @@ -28,367 +28,164 @@ export class ExchangeInitService { private async initializeExchanges() { const exchangeConfigs = [ - { - name: 'okx', - accounts: [ - { - label: 'default', - apiKey: process.env.OKX_API_KEY, - secret: process.env.OKX_SECRET, - }, - { - label: 'account2', - apiKey: process.env.OKX_API_KEY_2, - secret: process.env.OKX_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.OKX_API_KEY_READ_ONLY, - secret: process.env.OKX_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.okx, - }, - { - name: 'alpaca', - accounts: [ - { - label: 'default', - apiKey: process.env.ALPACA_KEY, - secret: process.env.ALPACA_SECRET, - }, - { - label: 'account2', - apiKey: process.env.ALPACA_KEY_2, - secret: process.env.ALPACA_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.ALPACA_KEY_READ_ONLY, - secret: process.env.ALPACA_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.alpaca, - }, - { - name: 'bitfinex', - accounts: [ - { - label: 'default', - apiKey: process.env.BITFINEX_API_KEY, - secret: process.env.BITFINEX_SECRET, - }, - { - label: 'account2', - apiKey: process.env.BITFINEX_API_KEY_2, - secret: process.env.BITFINEX_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.BITFINEX_API_KEY_READ_ONLY, - secret: process.env.BITFINEX_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.bitfinex, - }, - { - name: 'gate', - accounts: [ - { - label: 'default', - apiKey: process.env.GATE_API_KEY, - secret: process.env.GATE_SECRET, - }, - { - label: 'account2', - apiKey: process.env.GATE_API_KEY_2, - secret: process.env.GATE_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.GATE_API_KEY_READ_ONLY, - secret: process.env.GATE_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.gate, - }, - { - name: 'mexc', - accounts: [ - { - label: 'default', - apiKey: process.env.MEXC_API_KEY, - secret: process.env.MEXC_SECRET, - }, - { - label: 'account2', - apiKey: process.env.MEXC_API_KEY_2, - secret: process.env.MEXC_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.MEXC_API_KEY_READ_ONLY, - secret: process.env.MEXC_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.mexc, - }, - { - name: 'binance', - accounts: [ - { - label: 'default', - apiKey: process.env.BINANCE_API_KEY, - secret: process.env.BINANCE_SECRET, - }, - { - label: 'account2', - apiKey: process.env.BINANCE_API_KEY_2, - secret: process.env.BINANCE_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.BINANCE_API_KEY_READ_ONLY, - secret: process.env.BINANCE_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.binance, - }, - { - name: 'lbank', - accounts: [ - { - label: 'default', - apiKey: process.env.LBANK_API_KEY, - secret: process.env.LBANK_SECRET, - }, - { - label: 'account2', - apiKey: process.env.LBANK_API_KEY_2, - secret: process.env.LBANK_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.LBANK_API_KEY_READ_ONLY, - secret: process.env.LBANK_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.lbank, - }, - { - name: 'bitmart', - accounts: [ - { - label: 'default', - apiKey: process.env.BITMART_API_KEY, - secret: process.env.BITMART_SECRET, - }, - { - label: 'account2', - apiKey: process.env.BITMART_API_KEY_2, - secret: process.env.BITMART_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.BITMART_API_KEY_READ_ONLY, - secret: process.env.BITMART_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.bitmart, - }, - { - name: 'bigone', - accounts: [ - { - label: 'default', - apiKey: process.env.BIGONE_API_KEY, - secret: process.env.BIGONE_SECRET, - }, - { - label: 'account2', - apiKey: process.env.BIGONE_API_KEY_2, - secret: process.env.BIGONE_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.BIGONE_API_KEY_READ_ONLY, - secret: process.env.BIGONE_SECRET_READ_ONLY, - }, - ], - class: ccxt.bigone, - }, - { - name: 'coinlist', - accounts: [ - { - label: 'default', - apiKey: process.env.COINLIST_API_KEY, - secret: process.env.COINLIST_SECRET, - }, - { - label: 'account2', - apiKey: process.env.COINLIST_API_KEY_2, - secret: process.env.COINLIST_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.COINLIST_API_KEY_READ_ONLY, - secret: process.env.COINLIST_SECRET_READ_ONLY, - }, - ], - class: ccxt.coinlist, - }, - { - name: 'p2b', - accounts: [ - { - label: 'default', - apiKey: process.env.P2B_API_KEY, - secret: process.env.P2B_SECRET, - }, - { - label: 'account2', - apiKey: process.env.P2B_API_KEY_2, - secret: process.env.P2B_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.P2B_API_KEY_READ_ONLY, - secret: process.env.P2B_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.p2b, - }, - { - name: 'probit', - accounts: [ - { - label: 'default', - apiKey: process.env.PROBIT_API_KEY, - secret: process.env.PROBIT_SECRET, - }, - { - label: 'account2', - apiKey: process.env.PROBIT_API_KEY_2, - secret: process.env.PROBIT_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.PROBIT_API_KEY_READ_ONLY, - secret: process.env.PROBIT_SECRET_READ_ONLY, - }, - ], - class: ccxt.pro.probit, - }, - { - name: 'digifinex', - accounts: [ - { - label: 'default', - apiKey: process.env.DIGIFINEX_API_KEY, - secret: process.env.DIGIFINEX_SECRET, - }, - { - label: 'account2', - apiKey: process.env.DIGIFINEX_API_KEY_2, - secret: process.env.DIGIFINEX_SECRET_2, - }, - { - label: 'read-only', - apiKey: process.env.DIGIFINEX_API_KEY_READ_ONLY, - secret: process.env.DIGIFINEX_SECRET_READ_ONLY, - }, - ], - class: ccxt.digifinex, - }, + { name: 'okx', class: ccxt.pro.okx }, + { name: 'alpaca', class: ccxt.pro.alpaca }, + { name: 'bitfinex', class: ccxt.pro.bitfinex }, + { name: 'gate', class: ccxt.pro.gate }, + { name: 'mexc', class: ccxt.pro.mexc }, + { name: 'xt', class: ccxt.pro.xt }, + { name: 'binance', class: ccxt.pro.binance }, + { name: 'bybit', class: ccxt.pro.bybit }, + { name: 'lbank', class: ccxt.pro.lbank }, + { name: 'bitmart', class: ccxt.pro.bitmart }, + { name: 'bigone', class: ccxt.bigone }, + { name: 'p2b', class: ccxt.pro.p2b }, + { name: 'probit', class: ccxt.pro.probit }, + { name: 'digifinex', class: ccxt.digifinex }, ]; await Promise.all( exchangeConfigs.map(async (config) => { - const exchangeMap = new Map(); - await Promise.all( - config.accounts.map(async (account) => { - try { - if (!account.apiKey || !account.secret) { - this.logger.warn( - `API key or secret for ${config.name} ${account.label} is missing. Skipping initialization.`, - ); - return; - } + const exchangeNames = [config.name, `${config.name}-testnet`]; + + for (const exName of exchangeNames) { + const exchangeMap = new Map(); + const isTestnet = exName.endsWith('-testnet'); - const exchange = new config.class({ - apiKey: account.apiKey, - secret: account.secret, - }); + const accounts = [ + { + label: 'default', + apiKey: + process.env[ + `${config.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_API_KEY` + ], + secret: + process.env[ + `${config.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_SECRET` + ], + }, + { + label: 'account2', + apiKey: + process.env[ + `${config.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_API_KEY_2` + ], + secret: + process.env[ + `${config.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_SECRET_2` + ], + }, + { + label: 'read-only', + apiKey: + process.env[ + `${config.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_API_KEY_READ_ONLY` + ], + secret: + process.env[ + `${config.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_SECRET_READ_ONLY` + ], + }, + ]; - // Load markets - await exchange.loadMarkets(); + await Promise.all( + accounts.map(async (account) => { + try { + if (!account.apiKey || !account.secret) { + return; + } + + const exchange = new config.class({ + apiKey: account.apiKey, + secret: account.secret, + }); - // Call signIn only for ProBit accounts - if (config.name === 'probit' && exchange.has['signIn']) { - try { - await exchange.signIn(); + // 🔹 Enable sandbox if testnet + if ( + isTestnet && + typeof exchange.setSandboxMode === 'function' + ) { + exchange.setSandboxMode(true); this.logger.log( - `${config.name} ${account.label} signed in successfully.`, - ); - } catch (error) { - this.logger.error( - `ProBit ${account.label} sign-in failed: ${error.message}`, + `${exName} ${account.label} sandbox mode activated.`, ); } - } - // Save the initialized exchange - exchangeMap.set(account.label, exchange); - this.logger.log( - `${config.name} ${account.label} initialized successfully.`, - ); + await exchange.loadMarkets(); + + // Special signIn for ProBit + if (config.name === 'probit' && exchange.has['signIn']) { + try { + await exchange.signIn(); + this.logger.log( + `${exName} ${account.label} signed in successfully.`, + ); + } catch (error) { + this.logger.error( + `${exName} ${account.label} sign-in failed: ${error.message}`, + ); + } + } + + exchangeMap.set(account.label, exchange); - // Save the default account reference - if (account.label === 'default') { - this.defaultAccounts.set(config.name, exchange); + if (account.label === 'default') { + this.defaultAccounts.set(exName, exchange); + } + + this.logger.log( + `${exName} ${account.label} initialized successfully.`, + ); + } catch (error) { + this.logger.error( + `Failed to initialize ${exName} ${account.label}: ${error.message}`, + ); } - } catch (error) { - this.logger.error( - `Failed to initialize ${config.name} ${account.label}: ${error.message}`, - ); - } - }), - ); + }), + ); - this.exchanges.set(config.name, exchangeMap); + this.exchanges.set(exName, exchangeMap); + } }), ); } private startKeepAlive() { const intervalMs = 5 * 60 * 1000; // 5 minutes - + setInterval(async () => { this.logger.log('Running keep-alive checks for all exchanges...'); for (const [exchangeName, accounts] of this.exchanges) { - // Only do special logic for ProBit - if (exchangeName === 'probit') { + if (exchangeName.startsWith('probit')) { for (const [label, exchange] of accounts) { try { - // If the exchange does not have signIn, skip if (!exchange.has['signIn']) { this.logger.log( `ProBit ${label} does not support signIn. Skipping...`, ); continue; } - - // Check for open orders + const openOrders = await exchange.fetchOpenOrders(); if (openOrders.length > 0) { this.logger.log( `ProBit ${label} has open orders. Skipping signIn to avoid resetting them.`, ); - continue; // Do not signIn + continue; } - - // Otherwise, signIn if no open orders + await exchange.signIn(); this.logger.log(`ProBit ${label} re-signed in successfully.`); } catch (error) { @@ -398,13 +195,10 @@ export class ExchangeInitService { } } } - // other exchange keep-alive logic if needed... } }, intervalMs); } - - getExchange(exchangeName: string, label: string = 'default'): ccxt.Exchange { const exchangeMap = this.exchanges.get(exchangeName); if (!exchangeMap) { @@ -444,13 +238,7 @@ export class ExchangeInitService { } return exchange; } - /** - * Function to get the deposit address for a specific token on a specific network - * @param exchangeName - The name of the exchange - * @param tokenSymbol - The symbol of the token (e.g., 'USDT') - * @param network - The network (e.g., 'ERC20', 'BSC') - * @param label - Optional account label - */ + async getDepositAddress( exchangeName: string, tokenSymbol: string, diff --git a/server/src/modules/strategy/strategy.controller.ts b/server/src/modules/strategy/strategy.controller.ts index e0f50e85..10dd8cbc 100644 --- a/server/src/modules/strategy/strategy.controller.ts +++ b/server/src/modules/strategy/strategy.controller.ts @@ -29,14 +29,18 @@ import { } from './strategy.dto'; import { StrategyInstance } from 'src/common/entities/strategy-instances.entity'; import { AdminStrategyService } from '../admin/strategy/adminStrategy.service'; +import { TimeIndicatorStrategyService } from './time-indicator.service'; +import { TimeIndicatorStrategyDto } from './timeIndicator.dto'; @ApiTags('strategy') @Controller('strategy') export class StrategyController { + private loops = new Map(); constructor( private readonly strategyService: StrategyService, private readonly strategyUserSerive: StrategyUserService, private readonly adminService: AdminStrategyService, + private readonly timeIndicatorStrategyService: TimeIndicatorStrategyService, ) {} @Get('/all') @@ -267,22 +271,23 @@ export class StrategyController { return await this.strategyService.getUserOrders(userId); } -@Post('/execute-pure-market-making') -@HttpCode(HttpStatus.OK) -@ApiOperation({ summary: 'Execute pure market making strategy for a user' }) -@ApiResponse({ - status: 200, - description: - 'The pure market making strategy has been initiated for the user. An optional oracle exchange can be specified to fetch pricing from a different source.', -}) -@ApiResponse({ status: 400, description: 'Bad request.' }) -async executePureMarketMaking( - @Body() strategyParamsDto: PureMarketMakingStrategyDto, -) { - // Passing the entire DTO to the service - return this.strategyService.executePureMarketMakingStrategy(strategyParamsDto); -} - + @Post('/execute-pure-market-making') + @HttpCode(HttpStatus.OK) + @ApiOperation({ summary: 'Execute pure market making strategy for a user' }) + @ApiResponse({ + status: 200, + description: + 'The pure market making strategy has been initiated for the user. An optional oracle exchange can be specified to fetch pricing from a different source.', + }) + @ApiResponse({ status: 400, description: 'Bad request.' }) + async executePureMarketMaking( + @Body() strategyParamsDto: PureMarketMakingStrategyDto, + ) { + // Passing the entire DTO to the service + return this.strategyService.executePureMarketMakingStrategy( + strategyParamsDto, + ); + } @Get('/stop-marketmaking') @HttpCode(HttpStatus.OK) @@ -309,16 +314,17 @@ async executePureMarketMaking( @Post('/execute-volume-strategy') @HttpCode(HttpStatus.OK) - @ApiOperation({ - summary: 'Execute volume strategy', + @ApiOperation({ + summary: 'Execute volume strategy', description: `Starts a volume trading strategy between two accounts on the same exchange. This strategy can randomly vary the trade amount, push the price upward by a specified rate after each trade, and ensure that orders execute by placing a limit order at the current best bid/ask - and immediately placing a matching order from the other account.` + and immediately placing a matching order from the other account.`, }) @ApiResponse({ status: 200, - description: 'The volume strategy has been started and will ensure execution of trades.', + description: + 'The volume strategy has been started and will ensure execution of trades.', }) @ApiResponse({ status: 400, description: 'Bad request.' }) async executeVolumeStrategy( @@ -334,8 +340,9 @@ async executePureMarketMaking( userId, clientId, pricePushRate, + postOnlySide, } = executeVolumeStrategyDto; - + return this.strategyService.executeVolumeStrategy( exchangeName, symbol, @@ -345,7 +352,8 @@ async executePureMarketMaking( numTrades, userId, clientId, - pricePushRate, + pricePushRate, + postOnlySide, ); } @@ -366,6 +374,46 @@ async executePureMarketMaking( ); } + @Post('execute-indicator-strategy') + @ApiOperation({ summary: 'Run the time-indicator strategy once (stateless)' }) + async execute(@Body() dto: TimeIndicatorStrategyDto) { + return this.timeIndicatorStrategyService.executeIndicatorStrategy(dto); + } + + @Post('start-indicator-strategy') + @ApiOperation({ + summary: 'Start periodic execution of the time-indicator strategy', + }) + async start(@Body() dto: TimeIndicatorStrategyDto) { + const key = `${dto.userId}:${dto.clientId}`; + if (this.loops.has(key)) { + return { message: `Strategy already running for ${key}` }; + } + + const loop = setInterval( + () => this.timeIndicatorStrategyService.executeIndicatorStrategy(dto), + dto.tickIntervalMs, + ); + + this.loops.set(key, loop); + return { message: `Started strategy for ${key}` }; + } + + @Post('stop-indicator-strategy') + @ApiOperation({ + summary: 'Stop periodic execution of the time-indicator strategy', + }) + async stop(@Body() body: { userId: string; clientId: string }) { + const key = `${body.userId}:${body.clientId}`; + const loop = this.loops.get(key); + if (loop) { + clearInterval(loop); + this.loops.delete(key); + return { message: `Stopped strategy for ${key}` }; + } + return { message: `No running strategy found for ${key}` }; + } + @Post('rerun') @ApiOperation({ summary: 'Rerun a saved strategy instance' }) @ApiBody({ diff --git a/server/src/modules/strategy/strategy.dto.ts b/server/src/modules/strategy/strategy.dto.ts index cbca55bd..bc83b1ff 100644 --- a/server/src/modules/strategy/strategy.dto.ts +++ b/server/src/modules/strategy/strategy.dto.ts @@ -91,7 +91,10 @@ export class PureMarketMakingStrategyDto { @ApiProperty({ description: 'Trading pair', example: 'BTC/USDT' }) pair: string; - @ApiProperty({ description: 'Exchange name used for execution', example: 'binance' }) + @ApiProperty({ + description: 'Exchange name used for execution', + example: 'binance', + }) exchangeName: string; @ApiPropertyOptional({ @@ -159,7 +162,6 @@ export class PureMarketMakingStrategyDto { floorPrice?: number; } - export class ExecuteVolumeStrategyDto { @ApiProperty({ description: 'Name of the exchange' }) exchangeName: string; @@ -167,10 +169,15 @@ export class ExecuteVolumeStrategyDto { @ApiProperty({ description: 'Symbol to trade' }) symbol: string; - @ApiProperty({ description: 'Percentage increment for offsetting from midPrice (initial offset)' }) + @ApiProperty({ + description: + 'Percentage increment for offsetting from midPrice (initial offset)', + }) incrementPercentage: number; - @ApiProperty({ description: 'Time interval (in seconds) between each trade execution' }) + @ApiProperty({ + description: 'Time interval (in seconds) between each trade execution', + }) intervalTime: number; @ApiProperty({ description: 'Base amount to trade per order' }) @@ -186,10 +193,16 @@ export class ExecuteVolumeStrategyDto { clientId: string; @ApiProperty({ - description: 'Rate at which to push the price upward after each successful trade, in percent', + description: + 'Rate at which to push the price upward after each successful trade, in percent', example: 1, }) pricePushRate: number; // <--- NEW PARAM to push price after each trade + @ApiProperty({ + description: 'The first trade is a buy or sell', + example: 'buy', + }) + postOnlySide: 'buy' | 'sell'; // <--- NEW PARAM } export class StopVolumeStrategyDto { diff --git a/server/src/modules/strategy/strategy.module.ts b/server/src/modules/strategy/strategy.module.ts index 591e9782..4fac8cbd 100644 --- a/server/src/modules/strategy/strategy.module.ts +++ b/server/src/modules/strategy/strategy.module.ts @@ -23,6 +23,8 @@ import { ExchangeInitService } from '../exchangeInit/exchangeInit.service'; import { AlpacaStratService } from './alpacastrat.service'; import { StrategyInstance } from 'src/common/entities/strategy-instances.entity'; import { AdminModule } from '../admin/admin.module'; +import { TimeIndicatorStrategyService } from './time-indicator.service'; +import { IndicatorStrategyHistory } from 'src/common/entities/indicator-strategy-history.entity'; @Module({ imports: [ @@ -40,6 +42,7 @@ import { AdminModule } from '../admin/admin.module'; PaymentState, ArbitrageHistory, MarketMakingHistory, + IndicatorStrategyHistory, ]), ], controllers: [StrategyController], @@ -49,7 +52,13 @@ import { AdminModule } from '../admin/admin.module'; StrategyUserRepository, ExchangeInitService, AlpacaStratService, + TimeIndicatorStrategyService, + ], + exports: [ + StrategyService, + StrategyUserService, + StrategyUserRepository, + TimeIndicatorStrategyService, ], - exports: [StrategyService, StrategyUserService, StrategyUserRepository], }) export class StrategyModule {} diff --git a/server/src/modules/strategy/strategy.service.ts b/server/src/modules/strategy/strategy.service.ts index 54b9ff10..75dec5d1 100644 --- a/server/src/modules/strategy/strategy.service.ts +++ b/server/src/modules/strategy/strategy.service.ts @@ -120,9 +120,9 @@ export class StrategyService { @InjectRepository(StrategyInstance) private strategyInstanceRepository: Repository, ) { - process.on('SIGINT', () => this.handleShutdown()); - process.on('SIGTERM', () => this.handleShutdown()); - process.on('uncaughtException', () => this.handleShutdown()); + // process.on('SIGINT', () => this.handleShutdown()); + // process.on('SIGTERM', () => this.handleShutdown()); + // process.on('uncaughtException', () => this.handleShutdown()); } async getSupportedExchanges(): Promise { @@ -185,7 +185,8 @@ export class StrategyService { parameters.numTrades, parameters.userId, parameters.clientId, - parameters.pricePushRate + parameters.pricePushRate, + parameters.postOnlySide, ); break; default: @@ -361,182 +362,342 @@ export class StrategyService { async executeVolumeStrategy( exchangeName: string, symbol: string, - baseIncrementPercentage: number, // Used to offset from midPrice initially + baseIncrementPercentage: number, baseIntervalTime: number, baseTradeAmount: number, numTrades: number, userId: string, clientId: string, - pricePushRate: number, + pricePushRate: number, + postOnlySide: 'buy' | 'sell', ) { const strategyKey = createStrategyKey({ type: 'volume', user_id: userId, client_id: clientId, }); - + try { - const exchangeAccount1 = this.exchangeInitService.getExchange(exchangeName, 'default'); - const exchangeAccount2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); - - let useAccount1AsMaker = true; + let strategyInstance = await this.strategyInstanceRepository.findOne({ + where: { strategyKey }, + }); + + const exchange = this.exchangeInitService.getExchange(exchangeName); + const ticker = await exchange.fetchTicker(symbol); + const startPrice = Math.trunc(ticker.last); + + const parameters = { + exchangeName, + symbol, + baseIncrementPercentage, + baseIntervalTime, + baseTradeAmount, + numTrades, + userId, + clientId, + pricePushRate, + postOnlySide, + }; + + if (!strategyInstance) { + strategyInstance = this.strategyInstanceRepository.create({ + strategyKey, + userId, + clientId, + strategyType: 'volume', + parameters, + status: 'running', + startPrice, + }); + await this.strategyInstanceRepository.save(strategyInstance); + } else { + await this.strategyInstanceRepository.update( + { strategyKey }, + { status: 'running', updatedAt: new Date() }, + ); + } + + const exchangeAccount1 = this.exchangeInitService.getExchange( + exchangeName, + 'default', + ); + const exchangeAccount2 = this.exchangeInitService.getExchange( + exchangeName, + 'account2', + ); + let tradesExecuted = 0; - - // Track our "target maker price" across trades. - // We'll set it after the *first* trade is established (based on midPrice). - let currentMakerPrice: number | null = null; - + let useAccount1AsMaker = true; + + /* helper → fetch free balances for base / quote */ + const getFree = async ( + exch: ccxt.Exchange, + base: string, + quote: string, + ) => { + const bal = await exch.fetchBalance(); + return { + base: bal.free[base] ?? 0, + quote: bal.free[quote] ?? 0, + }; + }; + + /* helper → one-shot rebalance so the next trade can proceed */ + const rebalance = async ( + exch: ccxt.Exchange, + needSide: 'buy' | 'sell', + amountNeeded: number, + price: number, + ) => { + if (needSide === 'buy') { + /* need more base, so buy base with quote */ + if (amountNeeded > 0) + await exch.createOrder(symbol, 'market', 'buy', amountNeeded); + } else { + /* need more quote, so sell base for quote */ + const baseToSell = amountNeeded / price; + if (baseToSell > 0) + await exch.createOrder(symbol, 'market', 'sell', baseToSell); + } + }; + + /* ── capture initial portfolio value ── */ + const [baseAsset, quoteAsset] = symbol.split('/'); + const initBal1 = await getFree(exchangeAccount1, baseAsset, quoteAsset); + const initBal2 = await getFree(exchangeAccount2, baseAsset, quoteAsset); + const initialTotalQuoteValue = + (initBal1.base + initBal2.base) * startPrice + + (initBal1.quote + initBal2.quote); + + /* ── trading loop ── */ const executeTrade = async () => { if (tradesExecuted >= numTrades) { - this.logger.log(`Volume strategy ${strategyKey} completed.`); + this.logger.log( + `Volume strategy [${strategyKey}] completed after ${numTrades} trades.`, + ); this.strategyInstances.delete(strategyKey); return; } - + try { - // 1. Fetch the current order book for reference - const orderBook = await exchangeAccount1.fetchOrderBook(symbol); - if (!orderBook.bids.length || !orderBook.asks.length) { - throw new Error(`Order book data is incomplete for ${symbol}`); - } - const bestBid = orderBook.bids[0][0]; - const bestAsk = orderBook.asks[0][0]; - - this.logger.log(`Best bid: ${bestBid}, best ask: ${bestAsk} for ${symbol}`); - - // 2. Decide maker / taker accounts - const makerExchange = useAccount1AsMaker ? exchangeAccount1 : exchangeAccount2; - const takerExchange = useAccount1AsMaker ? exchangeAccount2 : exchangeAccount1; - - // 3. Randomize the trade amount ±5% around baseTradeAmount - // Range: [0.95 * baseTradeAmount, 1.05 * baseTradeAmount] - const randomFactor = 1 + (Math.random() * 0.1 - 0.05); + /* cancel leftovers */ + await this.cancelAllOrders(exchangeAccount1, symbol, strategyKey); + await this.cancelAllOrders(exchangeAccount2, symbol, strategyKey); + + const makerExchange = useAccount1AsMaker + ? exchangeAccount1 + : exchangeAccount2; + const takerExchange = useAccount1AsMaker + ? exchangeAccount2 + : exchangeAccount1; + + const makerSide: 'buy' | 'sell' = postOnlySide; + const takerSide: 'buy' | 'sell' = + postOnlySide === 'buy' ? 'sell' : 'buy'; + + const randomFactor = 1 + (Math.random() * 0.1 - 0.05); const amount = baseTradeAmount * randomFactor; - - // 4. Determine the maker price - // - If first trade, base it on the midPrice with a small increment factor. - // - After each success, push the price up by 'pricePushRate' (e.g. +1%). - if (currentMakerPrice == null) { - // For the first trade, pick a price in the spread - const midPrice = (bestBid + bestAsk) / 2; - const baseFactor = 1 + baseIncrementPercentage / 100; - currentMakerPrice = midPrice * baseFactor; - } else { - // For subsequent trades, push the price up slowly - // Example: If pricePushRate = 1, it goes up by 1% each successful trade - currentMakerPrice *= (1 + pricePushRate / 100); - } - - // Ensure we do NOT exceed the bestAsk - small offset - const makerPrice = Math.min(currentMakerPrice, bestAsk - 0.000001); - + + const makerBook = await makerExchange.fetchOrderBook(symbol); + const bestBid = makerBook.bids[0][0]; + const bestAsk = makerBook.asks[0][0]; + const midPrice = (bestBid + bestAsk) / 2; + + /* balances + PnL */ + const makerBalances = await getFree( + makerExchange, + baseAsset, + quoteAsset, + ); + const takerBalances = await getFree( + takerExchange, + baseAsset, + quoteAsset, + ); + + const currentTotalQuoteValue = + (makerBalances.base + takerBalances.base) * midPrice + + (makerBalances.quote + takerBalances.quote); + + const pnlSinceStart = currentTotalQuoteValue - initialTotalQuoteValue; + this.logger.log( - `Maker placing limit BUY: ${amount.toFixed(6)} ${symbol} ` + - `@ ${makerPrice.toFixed(6)} on ${makerExchange.id}`, + `[${strategyKey}] Balances | ${ + makerExchange.id + }: ${baseAsset}=${makerBalances.base.toFixed( + 4, + )}, ${quoteAsset}=${makerBalances.quote.toFixed(2)} | ${ + takerExchange.id + }: ${baseAsset}=${takerBalances.base.toFixed( + 4, + )}, ${quoteAsset}=${takerBalances.quote.toFixed( + 2, + )} | PnL: ${pnlSinceStart.toFixed(2)} ${quoteAsset}`, ); - - // 5. Place the maker (BUY) order with postOnly to remain on the order book - let makerOrder; - try { - makerOrder = await makerExchange.createOrder( - symbol, - 'limit', - 'buy', - amount, - makerPrice, - { postOnly: true }, - ); - } catch (error) { - this.logger.error(`Failed to create maker order: ${error.message}`); - throw error; + + /* maker side sufficient? */ + if ( + makerSide === 'buy' && + makerBalances.quote < amount * midPrice * 1.01 + ) { + const deficitBase = + (amount * midPrice - makerBalances.quote) / midPrice; + await rebalance(makerExchange, 'buy', deficitBase, midPrice); + } else if ( + makerSide === 'sell' && + makerBalances.base < amount * 1.01 + ) { + const deficitQuote = amount - makerBalances.base; + await rebalance(makerExchange, 'sell', deficitQuote, midPrice); } - // 6. Wait briefly to ensure maker order is posted in the order book - await new Promise((resolve) => setTimeout(resolve, 2000)); - - // 7. Taker places a LIMIT SELL at exactly makerPrice to cross that order - this.logger.log( - `Taker placing limit SELL: ${amount.toFixed(6)} ${symbol} ` + - `@ ${makerPrice.toFixed(6)} on ${takerExchange.id}`, + + /* taker side sufficient? */ + if ( + takerSide === 'buy' && + takerBalances.quote < amount * midPrice * 1.01 + ) { + const deficitBase = + (amount * midPrice - takerBalances.quote) / midPrice; + await rebalance(takerExchange, 'buy', deficitBase, midPrice); + } else if ( + takerSide === 'sell' && + takerBalances.base < amount * 1.01 + ) { + const deficitQuote = amount - takerBalances.base; + await rebalance(takerExchange, 'sell', deficitQuote, midPrice); + } + + /* choose random maker price inside spread */ + const makerPrice = bestBid + Math.random() * (bestAsk - bestBid); + const takerPrice = makerPrice; + + const makerOrder = await makerExchange.createOrder( + symbol, + 'limit', + makerSide, + amount, + makerPrice, + { postOnly: true }, ); + const takerOrder = await takerExchange.createOrder( symbol, 'limit', - 'sell', + takerSide, amount, - makerPrice, + takerPrice, + ); + + /* log fills */ + const makerResult = await makerExchange.fetchOrder( + makerOrder.id, + symbol, + ); + const takerResult = await takerExchange.fetchOrder( + takerOrder.id, + symbol, ); - - // 8. Check final statuses (optional but recommended) - const makerResult = await makerExchange.fetchOrder(makerOrder.id, symbol); - const takerResult = await takerExchange.fetchOrder(takerOrder.id, symbol); - - if (makerResult.status === 'closed' || makerResult.status === 'filled') { + + if ( + makerResult.status === 'closed' || + makerResult.status === 'filled' + ) { this.logger.log( - `Maker order on ${makerExchange.id} filled successfully at ${makerPrice}`, - ); - } else { - this.logger.warn( - `Maker order on ${makerExchange.id} is still ${makerResult.status}.`, + `Maker ${makerSide.toUpperCase()} on ${ + makerExchange.id + } filled at ${makerPrice.toFixed(6)}`, ); } - - if (takerResult.status === 'closed' || takerResult.status === 'filled') { + + if ( + takerResult.status === 'closed' || + takerResult.status === 'filled' + ) { this.logger.log( - `Taker order on ${takerExchange.id} filled successfully at ${makerPrice}`, - ); - } else { - this.logger.warn( - `Taker order on ${takerExchange.id} is still ${takerResult.status}.`, + `Taker ${takerSide.toUpperCase()} on ${ + takerExchange.id + } filled at ${takerPrice.toFixed(6)}`, ); } - - // 9. One trade completed + tradesExecuted++; - // Flip the roles for next trade useAccount1AsMaker = !useAccount1AsMaker; - - // 10. Determine the next trade delay randomly in [baseIntervalTime, 1.5 * baseIntervalTime] + const minInterval = baseIntervalTime; const maxInterval = baseIntervalTime * 1.5; - const randomInterval = minInterval + Math.random() * (maxInterval - minInterval); - - // Optionally, round the delay to a whole number of seconds: - const delaySeconds = Math.floor(randomInterval); + const delaySeconds = Math.floor( + minInterval + Math.random() * (maxInterval - minInterval), + ); + this.logger.log( - `Scheduling next trade in ${delaySeconds} seconds (range: ${minInterval} - ${maxInterval}).`, + `Trade #${tradesExecuted} done. Next trade in ~${delaySeconds}s.`, ); - setTimeout(executeTrade, delaySeconds * 1000); - } catch (error) { - this.logger.error(`Error executing trade: ${error.stack || error}`); - - // Retry also in that [baseIntervalTime, 1.5 * baseIntervalTime] range - const minInterval = baseIntervalTime; - const maxInterval = baseIntervalTime * 1.5; - const retryInterval = minInterval + Math.random() * (maxInterval - minInterval); - const delaySeconds = Math.floor(retryInterval); - - this.logger.log(`Retrying in ${delaySeconds} seconds.`); - setTimeout(executeTrade, delaySeconds * 1000); + this.logger.error(`Error in trade cycle: ${error.message}`); + const retryDelay = Math.floor( + baseIntervalTime + Math.random() * (baseIntervalTime * 0.5), + ); + this.logger.log(`Retrying volume trade in ${retryDelay}s.`); + setTimeout(executeTrade, retryDelay * 1000); } }; - - // Start the process + this.strategyInstances.set(strategyKey, { isRunning: true, intervalId: null, }); - this.logger.log(`Volume strategy ${strategyKey} started.`); + this.logger.log(`Volume strategy [${strategyKey}] started.`); executeTrade(); } catch (error) { - this.logger.error(`Failed to execute volume strategy: ${error.message}`); + this.logger.error( + `Failed to execute volume strategy [${strategyKey}]: ${error.message}`, + ); } } - - - - + + /** + * Cancel leftover orders for a given exchange, symbol, and strategyKey. + */ + private async cancelAllOrders( + exchange: ccxt.Exchange, + pair: string, + strategyKey: string, + ) { + this.logger.log( + `Canceling leftover orders for [${strategyKey}] on ${exchange.id}`, + ); + + try { + const orders = await exchange.fetchOpenOrders(pair); + for (const order of orders) { + try { + await exchange.cancelOrder(order.id, pair); + // Optionally update DB if you're tracking orders by strategy + await this.orderRepository.update( + { + orderId: order.id, + exchange: exchange.id, + pair, + strategy: strategyKey, // or "volume" if you store by strategy name + }, + { + status: 'canceled', + }, + ); + } catch (error) { + this.logger.error( + `Failed to cancel order ${order.id} on ${exchange.id}: ${error.message}`, + ); + } + } + } catch (error) { + this.logger.error( + `Error fetching open orders for ${pair} on ${exchange.id}: ${error.message}`, + ); + } + } + private async waitForOrderFill( exchange: ccxt.Exchange, orderId: string, @@ -628,29 +789,29 @@ export class StrategyService { ceilingPrice, floorPrice, } = strategyParamsDto; - + const strategyKey = createStrategyKey({ type: 'pureMarketMaking', user_id: userId, client_id: clientId, }); - + // Ensure the strategy is not already running if (this.strategyInstances.has(strategyKey)) { this.logger.error(`Strategy ${strategyKey} is already running.`); return; } - + // Find or create the strategy instance let strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey, status: 'running' }, }); - + if (!strategyInstance) { strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey }, }); - + if (strategyInstance) { await this.strategyInstanceRepository.update( { strategyKey }, @@ -658,8 +819,9 @@ export class StrategyService { ); } else { // The exchange we place orders on - const executionExchange = this.exchangeInitService.getExchange(exchangeName); - + const executionExchange = + this.exchangeInitService.getExchange(exchangeName); + strategyInstance = this.strategyInstanceRepository.create({ strategyKey, userId, @@ -679,7 +841,7 @@ export class StrategyService { await this.strategyInstanceRepository.save(strategyInstance); } } - + // Start the strategy this.logger.log(`Starting pure market making strategy for ${strategyKey}.`); const intervalId = setInterval(async () => { @@ -687,7 +849,7 @@ export class StrategyService { await this.manageMarketMakingOrdersWithLayers( userId, clientId, - exchangeName, // We'll still execute trades on 'exchangeName' + exchangeName, // We'll still execute trades on 'exchangeName' pair, bidSpread, askSpread, @@ -698,7 +860,7 @@ export class StrategyService { amountChangeType, ceilingPrice, floorPrice, - oracleExchangeName // Pass along to retrieve price from a different exchange if provided + oracleExchangeName, // Pass along to retrieve price from a different exchange if provided ); } catch (error) { this.logger.error( @@ -707,11 +869,10 @@ export class StrategyService { await new Promise((resolve) => setTimeout(resolve, 5000)); } }, orderRefreshTime); - + // Track the strategy instance this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); } - private async manageMarketMakingOrdersWithLayers( userId: string, @@ -733,17 +894,19 @@ export class StrategyService { const priceExchange = oracleExchangeName ? this.exchangeInitService.getExchange(oracleExchangeName) : this.exchangeInitService.getExchange(executionExchangeName); - + // 2. Execution exchange is always the main exchangeName - const executionExchange = this.exchangeInitService.getExchange(executionExchangeName); - + const executionExchange = this.exchangeInitService.getExchange( + executionExchangeName, + ); + // 3. Fetch the current market price from the selected price exchange const priceSource = await this.getPriceSource( priceExchange.id, // use priceExchange for data pair, priceSourceType, ); - + // 4. Cancel all existing orders on the execution exchange, but still use the same strategyKey await this.cancelAllOrders( executionExchange, @@ -754,7 +917,7 @@ export class StrategyService { client_id: clientId, }), ); - + // Mark all open orders not canceled as closed in DB await this.orderRepository.update( { @@ -769,24 +932,25 @@ export class StrategyService { status: 'closed', }, ); - + let currentOrderAmount = baseOrderAmount; - + for (let layer = 1; layer <= numberOfLayers; layer++) { if (layer > 1) { if (amountChangeType === 'fixed') { currentOrderAmount += amountChangePerLayer; } else if (amountChangeType === 'percentage') { - currentOrderAmount += currentOrderAmount * (amountChangePerLayer / 100); + currentOrderAmount += + currentOrderAmount * (amountChangePerLayer / 100); } } - + const layerBidSpreadPercentage = bidSpread * layer; const layerAskSpreadPercentage = askSpread * layer; - + const buyPrice = priceSource * (1 - layerBidSpreadPercentage); const sellPrice = priceSource * (1 + layerAskSpreadPercentage); - + // 5. Place buy orders on the execution exchange, if below the ceiling if (ceilingPrice === undefined || priceSource <= ceilingPrice) { const { @@ -799,9 +963,11 @@ export class StrategyService { buyPrice, ); if (!adjustedBuyAmount || !adjustedBuyPrice) { - throw new Error(`Invalid order parameters: amount=${adjustedBuyAmount}, price=${adjustedBuyPrice}`); - } - + throw new Error( + `Invalid order parameters: amount=${adjustedBuyAmount}, price=${adjustedBuyPrice}`, + ); + } + const order = await this.tradeService.executeLimitTrade({ userId, clientId, @@ -811,7 +977,7 @@ export class StrategyService { amount: parseFloat(adjustedBuyAmount), price: parseFloat(adjustedBuyPrice), }); - + // Persist const orderEntity = this.orderRepository.create({ userId, @@ -832,7 +998,7 @@ export class StrategyService { `Skipping buy order for ${pair} as price source ${priceSource} exceeds ceiling ${ceilingPrice}.`, ); } - + // 6. Place sell orders on the execution exchange, if above the floor if (floorPrice === undefined || priceSource >= floorPrice) { const { @@ -844,7 +1010,7 @@ export class StrategyService { currentOrderAmount, sellPrice, ); - + const order = await this.tradeService.executeLimitTrade({ userId, clientId, @@ -854,7 +1020,7 @@ export class StrategyService { amount: parseFloat(adjustedSellAmount), price: parseFloat(adjustedSellPrice), }); - + const orderEntity = this.orderRepository.create({ userId, clientId, @@ -876,7 +1042,6 @@ export class StrategyService { } } } - private async adjustOrderParameters( exchange: ccxt.Exchange, @@ -896,45 +1061,6 @@ export class StrategyService { return { adjustedAmount, adjustedPrice }; } - private async cancelAllOrders( - exchange: ccxt.Exchange, - pair: string, - strategyKey: string, - ) { - this.logger.log('Cancelling Orders for', strategyKey); - try { - const orders = await exchange.fetchOpenOrders(pair); - for (const order of orders) { - try { - await exchange.cancelOrder(order.id, pair); - - // Mark canceled on the database - await this.orderRepository.update( - { - orderId: order.id, - exchange: exchange.id, - pair, - strategy: 'pureMarketMaking', - }, - { - status: 'canceled', - }, - ); - } catch (error) { - this.logger.error( - `Failed to cancel order ${order.id} for ${pair} on ${exchange.id}: ${error.message}`, - ); - // Decide whether to retry or continue with the next order - } - } - } catch (error) { - this.logger.error( - `Error fetching open orders for ${pair} on ${exchange.id}: ${error.message}`, - ); - // Handle the error, e.g., by logging and possibly retrying later - } - } - private async getCurrentMarketPrice( exchangeName: string, pair: string, diff --git a/server/src/modules/strategy/time-indicator.service.ts b/server/src/modules/strategy/time-indicator.service.ts new file mode 100644 index 00000000..930e7ecf --- /dev/null +++ b/server/src/modules/strategy/time-indicator.service.ts @@ -0,0 +1,283 @@ +import * as ccxt from 'ccxt'; +import { Injectable } from '@nestjs/common'; + +import { ExchangeInitService } from 'src/modules/exchangeInit/exchangeInit.service'; +import { TradeService } from 'src/modules/trade/trade.service'; +import { PerformanceService } from 'src/modules/performance/performance.service'; +import { CustomLogger } from 'src/modules/logger/logger.service'; +import { IndicatorStrategyHistory } from 'src/common/entities/indicator-strategy-history.entity'; +import { Repository } from 'typeorm'; +import { InjectRepository } from '@nestjs/typeorm'; +import { TimeIndicatorStrategyDto } from './timeIndicator.dto'; +import { Side } from 'src/common/constants/side'; +import { SignalType } from 'src/common/enum/signaltype'; + +@Injectable() +export class TimeIndicatorStrategyService { + private readonly logger = new CustomLogger(TimeIndicatorStrategyService.name); + + constructor( + private readonly exchangeInit: ExchangeInitService, + private readonly tradeService: TradeService, + private readonly performanceService: PerformanceService, + @InjectRepository(IndicatorStrategyHistory) + private readonly historyRepo: Repository, + ) {} + + /** + * Run strategy once (stateless execution). + * Decides whether to buy/sell based on selected indicators (EMA, RSI, or both). + */ + async executeIndicatorStrategy(params: TimeIndicatorStrategyDto) { + const { userId, clientId, exchangeName, symbol } = params; + + if (!this.isWithinTimeWindow(params)) { + this.logger.debug( + `[${exchangeName}:${symbol}] Outside time window — skipping.`, + ); + return; + } + + const ex = this.exchangeInit.getExchange(exchangeName); + + // Market data + const ohlcv = await this.fetchCandles( + ex, + symbol, + params.timeframe, + params.lookback, + ); + if ( + !ohlcv || + ohlcv.length < Math.max(params.emaSlow, params.rsiPeriod) + 2 + ) { + this.logger.warn(`[${exchangeName}:${symbol}] Not enough candles yet.`); + return; + } + + // indicators + const closes = ohlcv.map((c) => c[4]); + const emaF = ema(closes, params.emaFast); + const emaS = ema(closes, params.emaSlow); + const rsiV = rsi(closes, params.rsiPeriod); + + const last = closes[closes.length - 1]; + const lastEmaF = emaF[emaF.length - 1]; + const lastEmaS = emaS[emaS.length - 1]; + const prevEmaF = emaF[emaF.length - 2]; + const prevEmaS = emaS[emaS.length - 2]; + const lastRsi = rsiV[rsiV.length - 1]; + + const signal = calcCross(prevEmaF, prevEmaS, lastEmaF, lastEmaS); + const rsiBuyOk = + params.rsiBuyBelow === undefined || lastRsi <= params.rsiBuyBelow; + const rsiSellOk = + params.rsiSellAbove === undefined || lastRsi >= params.rsiSellAbove; + + let side: Side | null = null; + + if (params.indicatorMode === 'ema') { + if (signal === SignalType.CROSS_UP) side = 'buy'; + else if (signal === SignalType.CROSS_DOWN) side = 'sell'; + } else if (params.indicatorMode === 'rsi') { + if (rsiBuyOk) side = 'buy'; + else if (rsiSellOk) side = 'sell'; + } else if (params.indicatorMode === 'both') { + if (signal === SignalType.CROSS_UP && rsiBuyOk) side = 'buy'; + else if (signal === SignalType.CROSS_DOWN && rsiSellOk) side = 'sell'; + } + + if (!side) { + this.logger.debug(`[${exchangeName}:${symbol}] No trade signal.`); + return; + } + + const [base, quote] = symbol.split('/'); + const balances = await ex.fetchBalance(); + + let amountBase: number; + if (params.orderMode === 'base') { + amountBase = params.orderSize; + } else { + amountBase = params.orderSize / last; + } + + const freeBase = balances.free[base] ?? 0; + const freeQuote = balances.free[quote] ?? 0; + if (side === 'sell' && freeBase < amountBase * 1.01) { + this.logger.warn( + `[${exchangeName}:${symbol}] Insufficient ${base} to sell.`, + ); + return; + } + if (side === 'buy' && freeQuote < amountBase * last * 1.01) { + this.logger.warn( + `[${exchangeName}:${symbol}] Insufficient ${quote} to buy.`, + ); + return; + } + + // min trade size + const market = ex.markets[symbol]; + if (market?.limits?.amount?.min && amountBase < market.limits.amount.min) { + this.logger.warn( + `[${exchangeName}:${symbol}] Order amount ${amountBase} < min ${market.limits.amount.min}`, + ); + return; + } + if ( + market?.limits?.cost?.min && + amountBase * last < market.limits.cost.min + ) { + this.logger.warn( + `[${exchangeName}:${symbol}] Order cost ${amountBase * last} < min ${ + market.limits.cost.min + }`, + ); + return; + } + + const bps = params.slippageBps ?? 10; + const price = + side === 'buy' ? last * (1 - bps / 10_000) : last * (1 + bps / 10_000); + + const adjAmount = parseFloat(ex.amountToPrecision(symbol, amountBase)); + const adjPrice = parseFloat(ex.priceToPrecision(symbol, price)); + + const order = await this.tradeService.executeLimitTrade({ + userId, + clientId, + exchange: ex.id, + symbol, + side, + amount: adjAmount, + price: adjPrice, + }); + + await this.historyRepo.save( + this.historyRepo.create({ + userId, + clientId, + exchange: ex.id, + symbol, + side, + amount: adjAmount, + price: adjPrice, + orderId: order?.id, + }), + ); + + await this.performanceService.recordPerformance({ + userId, + clientId, + strategyType: 'timeIndicator', + profitLoss: 0, + additionalMetrics: { + side, + last, + price: adjPrice, + emaFast: lastEmaF, + emaSlow: lastEmaS, + rsi: lastRsi, + signal, + }, + executedAt: new Date(), + }); + + this.logger.log( + `[${exchangeName}:${symbol}] ${side.toUpperCase()} ${adjAmount} @ ${adjPrice} (EMA${ + params.emaFast + }/${params.emaSlow}, RSI=${lastRsi.toFixed(2)})`, + ); + } + + private isWithinTimeWindow(params: TimeIndicatorStrategyDto) { + const now = new Date(); + const wd = now.getDay(); + const hr = now.getHours(); + + if (params.allowedWeekdays?.length && !params.allowedWeekdays.includes(wd)) + return false; + if (params.allowedHours?.length && !params.allowedHours.includes(hr)) + return false; + return true; + } + + private async fetchCandles( + ex: ccxt.Exchange, + symbol: string, + timeframe: string, + lookback: number, + ) { + try { + const limit = Math.max(lookback, 200); + return await ex.fetchOHLCV(symbol, timeframe, undefined, limit); + } catch (e: any) { + this.logger.error( + `fetchOHLCV error on ${ex.id} ${symbol} ${timeframe}: ${e.message}`, + ); + return []; + } + } +} +// Indicator funcs +function ema(series: number[], period: number): number[] { + const k = 2 / (period + 1); + const out: number[] = []; + let prev: number | undefined = undefined; + series.forEach((v, i) => { + if (i === 0) { + prev = v; + out.push(v); + } else { + const e = (v - (prev as number)) * k + (prev as number); + out.push(e); + prev = e; + } + }); + return out; +} + +function rsi(series: number[], period: number): number[] { + if (series.length < period + 1) return new Array(series.length).fill(NaN); + const gains: number[] = []; + const losses: number[] = []; + for (let i = 1; i < series.length; i++) { + const ch = series[i] - series[i - 1]; + gains.push(Math.max(0, ch)); + losses.push(Math.max(0, -ch)); + } + let avgGain = avg(gains.slice(0, period)); + let avgLoss = avg(losses.slice(0, period)); + + const rsiArr = new Array(period).fill(NaN); + for (let i = period; i < gains.length; i++) { + avgGain = (avgGain * (period - 1) + gains[i]) / period; + avgLoss = (avgLoss * (period - 1) + losses[i]) / period; + const rs = avgLoss === 0 ? 100 : avgGain / avgLoss; + const val = 100 - 100 / (1 + rs); + rsiArr.push(val); + } + rsiArr.unshift(NaN); + return rsiArr; +} + +function avg(arr: number[]) { + if (!arr.length) return 0; + return arr.reduce((a, b) => a + b, 0) / arr.length; +} + +function calcCross( + prevFast: number, + prevSlow: number, + fast: number, + slow: number, +): SignalType { + const wasBelow = prevFast <= prevSlow; + const nowAbove = fast > slow; + const wasAbove = prevFast >= prevSlow; + const nowBelow = fast < slow; + if (wasBelow && nowAbove) return SignalType.CROSS_UP; + if (wasAbove && nowBelow) return SignalType.CROSS_DOWN; + return SignalType.NONE; +} diff --git a/server/src/modules/strategy/timeIndicator.dto.ts b/server/src/modules/strategy/timeIndicator.dto.ts new file mode 100644 index 00000000..f1796e26 --- /dev/null +++ b/server/src/modules/strategy/timeIndicator.dto.ts @@ -0,0 +1,106 @@ +import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; + +export class TimeIndicatorStrategyDto { + @ApiProperty({ + description: 'User ID executing the strategy', + example: 'user123', + }) + userId: string; + + @ApiProperty({ + description: 'Client ID of the strategy owner', + example: 'clientA', + }) + clientId: string; + + @ApiProperty({ + description: 'Exchange name (as recognized by CCXT)', + example: 'binance', + }) + exchangeName: string; + + @ApiProperty({ description: 'Trading pair symbol', example: 'BTC/USDT' }) + symbol: string; + + @ApiProperty({ description: 'Timeframe for candles', example: '5m' }) + timeframe: string; + + @ApiProperty({ + description: 'Number of candles to fetch per tick', + example: 300, + }) + lookback: number; + + @ApiProperty({ description: 'Fast EMA period', example: 20 }) + emaFast: number; + + @ApiProperty({ description: 'Slow EMA period', example: 50 }) + emaSlow: number; + + @ApiProperty({ description: 'RSI calculation period', example: 14 }) + rsiPeriod: number; + + @ApiPropertyOptional({ + description: 'RSI threshold for buys (below this value)', + example: 35, + }) + rsiBuyBelow?: number; + + @ApiPropertyOptional({ + description: 'RSI threshold for sells (above this value)', + example: 65, + }) + rsiSellAbove?: number; + + @ApiProperty({ + description: 'Indicator mode to use', + enum: ['ema', 'rsi', 'both'], + example: 'both', + }) + indicatorMode: 'ema' | 'rsi' | 'both'; + + @ApiPropertyOptional({ + description: 'Allowed weekdays (0=Sunday, 6=Saturday)', + example: [1, 2, 3, 4, 5], + type: [Number], + }) + allowedWeekdays?: number[]; + + @ApiPropertyOptional({ + description: 'Allowed hours (0–23)', + example: [9, 10, 11, 15, 16], + type: [Number], + }) + allowedHours?: number[]; + + @ApiProperty({ + description: 'Whether order size is expressed in base or quote currency', + enum: ['base', 'quote'], + example: 'quote', + }) + orderMode: 'base' | 'quote'; + + @ApiProperty({ + description: 'Order size (amount in base or quote, depending on orderMode)', + example: 100, + }) + orderSize: number; + + @ApiPropertyOptional({ + description: 'Limit price slippage in basis points (default 10 = 0.10%)', + example: 10, + }) + slippageBps?: number; + + @ApiPropertyOptional({ + description: 'Max concurrent positions allowed (guard)', + example: 2, + }) + maxConcurrentPositions?: number; + + @ApiProperty({ + description: 'Tick interval in milliseconds', + example: 60000, + }) + tickIntervalMs: number; +} diff --git a/server/yarn.lock b/server/yarn.lock index 453b6c9a..1b705f8d 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -1,6696 +1,9675 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@angular-devkit/core@17.1.2": - version "17.1.2" - resolved "https://registry.npmjs.org/@angular-devkit/core/-/core-17.1.2.tgz" - integrity sha512-ku+/W/HMCBacSWFppenr9y6Lx8mDuTuQvn1IkTyBLiJOpWnzgVbx9kHDeaDchGa1PwLlJUBBrv27t3qgJOIDPw== - dependencies: - ajv "8.12.0" - ajv-formats "2.1.1" - jsonc-parser "3.2.0" - picomatch "3.0.1" - rxjs "7.8.1" - source-map "0.7.4" - -"@angular-devkit/schematics-cli@17.1.2": - version "17.1.2" - resolved "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-17.1.2.tgz" - integrity sha512-bvXykYzSST05qFdlgIzUguNOb3z0hCa8HaTwtqdmQo9aFPf+P+/AC56I64t1iTchMjQtf3JrBQhYM25gUdcGbg== - dependencies: - "@angular-devkit/core" "17.1.2" - "@angular-devkit/schematics" "17.1.2" - ansi-colors "4.1.3" - inquirer "9.2.12" - symbol-observable "4.0.0" - yargs-parser "21.1.1" - -"@angular-devkit/schematics@17.1.2": - version "17.1.2" - resolved "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.1.2.tgz" - integrity sha512-8S9RuM8olFN/gwN+mjbuF1CwHX61f0i59EGXz9tXLnKRUTjsRR+8vVMTAmX0dvVAT5fJTG/T69X+HX7FeumdqA== - dependencies: - "@angular-devkit/core" "17.1.2" - jsonc-parser "3.2.0" - magic-string "0.30.5" - ora "5.4.1" - rxjs "7.8.1" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== - dependencies: - "@babel/highlight" "^7.24.2" - picocolors "^1.0.0" - -"@babel/compat-data@^7.23.5": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz" - integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.24.4" - "@babel/parser" "^7.24.4" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.24.1", "@babel/generator@^7.24.4", "@babel/generator@^7.7.2": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz" - integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== - dependencies: - "@babel/types" "^7.24.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.22.15": - version "7.24.3" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-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.24.0", "@babel/helper-plugin-utils@^7.8.0": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" - integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helpers@^7.24.4": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz" - integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== - dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - -"@babel/highlight@^7.24.2": - version "7.24.2" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz" - integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz" - integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz" - integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/runtime@^7.15.4": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz" - integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/traverse@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz" - integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== - dependencies: - "@babel/code-frame" "^7.24.1" - "@babel/generator" "^7.24.1" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.24.1" - "@babel/types" "^7.24.0" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.3.3": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz" - integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@colors/colors@1.6.0", "@colors/colors@^1.6.0": - version "1.6.0" - resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz" - integrity sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@dabh/diagnostics@^2.0.2": - version "2.0.3" - resolved "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz" - integrity sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA== - dependencies: - colorspace "1.1.x" - enabled "2.0.x" - kuler "^2.0.0" - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== - -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/providers@5.7.2": - version "5.7.2" - resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/wallet@5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@golevelup/ts-jest@^0.4.0": - version "0.4.0" - resolved "https://registry.npmjs.org/@golevelup/ts-jest/-/ts-jest-0.4.0.tgz" - integrity sha512-ehgllV/xU8PC+yVyEUtTzhiSQKsr7k5Jz74B6dtCaVJz7/Vo7JiaACsCLvD7/iATlJUAEqvBson0OHewD3JDzQ== - -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.3" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/source-map@^0.3.3": - version "0.3.6" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz" - integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@ljharb/through@^2.3.11": - version "2.3.13" - resolved "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz" - integrity sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== - dependencies: - call-bind "^1.0.7" - -"@lukeed/csprng@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz" - integrity sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA== - -"@mapbox/node-pre-gyp@^1.0.11": - version "1.0.11" - resolved "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz" - integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== - dependencies: - detect-libc "^2.0.0" - https-proxy-agent "^5.0.0" - make-dir "^3.1.0" - node-fetch "^2.6.7" - nopt "^5.0.0" - npmlog "^5.0.1" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.11" - -"@microsoft/tsdoc@^0.14.2": - version "0.14.2" - resolved "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz" - integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== - -"@mixin.dev/mixin-node-sdk@^7.0.8": - version "7.0.8" - resolved "https://registry.npmjs.org/@mixin.dev/mixin-node-sdk/-/mixin-node-sdk-7.0.8.tgz" - integrity sha512-3oIOWJkZY6M87fTOo6MQOgxdWJpwsL8mC+t3PANoIb98WfQESLbl4O3og5AF0AgSmuZ2cMDTIvYiTZHkd5LYrw== - dependencies: - "@noble/curves" "^1.2.0" - "@noble/hashes" "^1.3.2" - "@types/qs" "^6.9.10" - axios "1.6.2" - axios-retry "3.4.0" - bignumber.js "^9.1.2" - bs58 "^5.0.0" - int64-buffer "^1.0.1" - is-retry-allowed "2.2.0" - lodash.merge "^4.6.2" - nano-seconds "^1.2.2" - node-forge "^1.3.1" - pako "^2.0.4" - qs "^6.11.2" - serialize-javascript "^6.0.0" - uuid "^9.0.0" - ws "^8.7.0" - -"@nestjs/axios@^3.0.2": - version "3.0.2" - resolved "https://registry.npmjs.org/@nestjs/axios/-/axios-3.0.2.tgz" - integrity sha512-Z6GuOUdNQjP7FX+OuV2Ybyamse+/e0BFdTWBX5JxpBDKA+YkdLynDgG6HTF04zy6e9zPa19UX0WA2VDoehwhXQ== - -"@nestjs/cache-manager@^2.1.1": - version "2.2.2" - resolved "https://registry.npmjs.org/@nestjs/cache-manager/-/cache-manager-2.2.2.tgz" - integrity sha512-+n7rpU1QABeW2WV17Dl1vZCG3vWjJU1MaamWgZvbGxYE9EeCM0lVLfw3z7acgDTNwOy+K68xuQPoIMxD0bhjlA== - -"@nestjs/cli@^10.3.2": - version "10.3.2" - resolved "https://registry.npmjs.org/@nestjs/cli/-/cli-10.3.2.tgz" - integrity sha512-aWmD1GLluWrbuC4a1Iz/XBk5p74Uj6nIVZj6Ov03JbTfgtWqGFLtXuMetvzMiHxfrHehx/myt2iKAPRhKdZvTg== - dependencies: - "@angular-devkit/core" "17.1.2" - "@angular-devkit/schematics" "17.1.2" - "@angular-devkit/schematics-cli" "17.1.2" - "@nestjs/schematics" "^10.0.1" - chalk "4.1.2" - chokidar "3.6.0" - cli-table3 "0.6.3" - commander "4.1.1" - fork-ts-checker-webpack-plugin "9.0.2" - glob "10.3.10" - inquirer "8.2.6" - node-emoji "1.11.0" - ora "5.4.1" - rimraf "4.4.1" - shelljs "0.8.5" - source-map-support "0.5.21" - tree-kill "1.2.2" - tsconfig-paths "4.2.0" - tsconfig-paths-webpack-plugin "4.1.0" - typescript "5.3.3" - webpack "5.90.1" - webpack-node-externals "3.0.0" - -"@nestjs/common@10.3.3": - version "10.3.3" - resolved "https://registry.npmjs.org/@nestjs/common/-/common-10.3.3.tgz" - integrity sha512-LAkTe8/CF0uNWM0ecuDwUNTHCi1lVSITmmR4FQ6Ftz1E7ujQCnJ5pMRzd8JRN14vdBkxZZ8VbVF0BDUKoKNxMQ== - dependencies: - uid "2.0.2" - iterare "1.2.1" - tslib "2.6.2" - -"@nestjs/config@^3.2.0": - version "3.2.2" - resolved "https://registry.npmjs.org/@nestjs/config/-/config-3.2.2.tgz" - integrity sha512-vGICPOui5vE6kPz1iwQ7oCnp3qWgqxldPmBQ9onkVoKlBtyc83KJCr7CjuVtf4OdovMAVcux1d8Q6jglU2ZphA== - dependencies: - dotenv "16.4.5" - dotenv-expand "10.0.0" - lodash "4.17.21" - uuid "9.0.1" - -"@nestjs/core@10.2.10": - version "10.2.10" - resolved "https://registry.npmjs.org/@nestjs/core/-/core-10.2.10.tgz" - integrity sha512-+ckOI6BPi2ZMHikT9MCG4ctHDc4OnjhoIytrn7f2AYMMXI4bnutJhqyQKc30VDka5x3Wq6QAD57pgSP7y+JjJg== - dependencies: - uid "2.0.2" - "@nuxtjs/opencollective" "0.3.2" - fast-safe-stringify "2.1.1" - iterare "1.2.1" - path-to-regexp "3.2.0" - tslib "2.6.2" - -"@nestjs/event-emitter@^2.0.4": - version "2.0.4" - resolved "https://registry.npmjs.org/@nestjs/event-emitter/-/event-emitter-2.0.4.tgz" - integrity sha512-quMiw8yOwoSul0pp3mOonGz8EyXWHSBTqBy8B0TbYYgpnG1Ix2wGUnuTksLWaaBiiOTDhciaZ41Y5fJZsSJE1Q== - dependencies: - eventemitter2 "6.4.9" - -"@nestjs/jwt@^10.0.3": - version "10.2.0" - resolved "https://registry.npmjs.org/@nestjs/jwt/-/jwt-10.2.0.tgz" - integrity sha512-x8cG90SURkEiLOehNaN2aRlotxT0KZESUliOPKKnjWiyJOcWurkF3w345WOX0P4MgFzUjGoZ1Sy0aZnxeihT0g== - dependencies: - "@types/jsonwebtoken" "9.0.5" - jsonwebtoken "9.0.2" - -"@nestjs/mapped-types@2.0.5": - version "2.0.5" - resolved "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz" - integrity sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg== - -"@nestjs/passport@^10.0.0": - version "10.0.3" - resolved "https://registry.npmjs.org/@nestjs/passport/-/passport-10.0.3.tgz" - integrity sha512-znJ9Y4S8ZDVY+j4doWAJ8EuuVO7SkQN3yOBmzxbGaXbvcSwFDAdGJ+OMCg52NdzIO4tQoN4pYKx8W6M0ArfFRQ== - -"@nestjs/platform-express@^10.2.10": - version "10.3.7" - resolved "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.3.7.tgz" - integrity sha512-noNJ+PyIxQJLCKfuXz0tcQtlVAynfLIuKy62g70lEZ86UrIqSrZFqvWs/rFUgkbT6J8H7Rmv11hASOnX+7M2rA== - dependencies: - body-parser "1.20.2" - cors "2.8.5" - express "4.19.2" - multer "1.4.4-lts.1" - tslib "2.6.2" - -"@nestjs/platform-socket.io@^10.2.10": - version "10.3.7" - resolved "https://registry.npmjs.org/@nestjs/platform-socket.io/-/platform-socket.io-10.3.7.tgz" - integrity sha512-T9VbVgEUnbid/RiywN9/8YQ8pAGDP++0nX73l4kIWeDWkz5DEh4aLB7O/JvLA3/xRHdjTZ4RiRZazwqSWi1Sog== - dependencies: - socket.io "4.7.5" - tslib "2.6.2" - -"@nestjs/schedule@^3.0.1": - version "3.0.4" - resolved "https://registry.npmjs.org/@nestjs/schedule/-/schedule-3.0.4.tgz" - integrity sha512-uFJpuZsXfpvgx2y7/KrIZW9e1L68TLiwRodZ6+Gc8xqQiHSUzAVn+9F4YMxWFlHITZvvkjWziUFgRNCitDcTZQ== - dependencies: - cron "2.4.3" - uuid "9.0.1" - -"@nestjs/schematics@^10.0.1", "@nestjs/schematics@^10.1.1": - version "10.1.1" - resolved "https://registry.npmjs.org/@nestjs/schematics/-/schematics-10.1.1.tgz" - integrity sha512-o4lfCnEeIkfJhGBbLZxTuVWcGuqDCFwg5OrvpgRUBM7vI/vONvKKiB5riVNpO+JqXoH0I42NNeDb0m4V5RREig== - dependencies: - "@angular-devkit/core" "17.1.2" - "@angular-devkit/schematics" "17.1.2" - comment-json "4.2.3" - jsonc-parser "3.2.1" - pluralize "8.0.0" - -"@nestjs/serve-static@^4.0.0": - version "4.0.2" - resolved "https://registry.npmjs.org/@nestjs/serve-static/-/serve-static-4.0.2.tgz" - integrity sha512-cT0vdWN5ar7jDI2NKbhf4LcwJzU4vS5sVpMkVrHuyLcltbrz6JdGi1TfIMMatP2pNiq5Ie/uUdPSFDVaZX/URQ== - dependencies: - path-to-regexp "0.2.5" - -"@nestjs/swagger@^7.1.17": - version "7.3.1" - resolved "https://registry.npmjs.org/@nestjs/swagger/-/swagger-7.3.1.tgz" - integrity sha512-LUC4mr+5oAleEC/a2j8pNRh1S5xhKXJ1Gal5ZdRjt9XebQgbngXCdW7JTA9WOEcwGtFZN9EnKYdquzH971LZfw== - dependencies: - "@microsoft/tsdoc" "^0.14.2" - "@nestjs/mapped-types" "2.0.5" - js-yaml "4.1.0" - lodash "4.17.21" - path-to-regexp "3.2.0" - swagger-ui-dist "5.11.2" - -"@nestjs/terminus@^10.0.1": - version "10.2.3" - resolved "https://registry.npmjs.org/@nestjs/terminus/-/terminus-10.2.3.tgz" - integrity sha512-iX7gXtAooePcyQqFt57aDke5MzgdkBeYgF5YsFNNFwOiAFdIQEhfv3PR0G+HlH9F6D7nBCDZt9U87Pks/qHijg== - dependencies: - boxen "5.1.2" - check-disk-space "3.4.0" - -"@nestjs/testing@^10.3.3": - version "10.3.7" - resolved "https://registry.npmjs.org/@nestjs/testing/-/testing-10.3.7.tgz" - integrity sha512-PmwZXyoCC/m3F3IFgpgD+SNN6cDPQa/vi3YQxFruvfX3cuHq+P6ZFvBB7hwaKKsLlhA0so42LsMm41oFBkdouw== - dependencies: - tslib "2.6.2" - -"@nestjs/throttler@^5.1.2": - version "5.1.2" - resolved "https://registry.npmjs.org/@nestjs/throttler/-/throttler-5.1.2.tgz" - integrity sha512-60MqhSLYUqWOgc38P6C6f76JIpf6mVjly7gpuPBCKtVd0p5e8Fq855j7bJuO4/v25vgaOo1OdVs0U1qtgYioGw== - -"@nestjs/typeorm@^10.0.1": - version "10.0.2" - resolved "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-10.0.2.tgz" - integrity sha512-H738bJyydK4SQkRCTeh1aFBxoO1E9xdL/HaLGThwrqN95os5mEyAtK7BLADOS+vldP4jDZ2VQPLj4epWwRqCeQ== - dependencies: - uuid "9.0.1" - -"@nestjs/websockets@^10.2.10": - version "10.3.7" - resolved "https://registry.npmjs.org/@nestjs/websockets/-/websockets-10.3.7.tgz" - integrity sha512-iYdsWiRNPUy0XzPoW44bx2MW1griuraTr5fNhoe2rUSNO0mEW1aeXp4v56KeZDLAss31WbeckC5P3N223Fys5g== - dependencies: - iterare "1.2.1" - object-hash "3.0.0" - tslib "2.6.2" - -"@noble/curves@^1.2.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.4.0.tgz" - integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== - dependencies: - "@noble/hashes" "1.4.0" - -"@noble/hashes@1.4.0", "@noble/hashes@^1.3.2": - version "1.4.0" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nuxtjs/opencollective@0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz" - integrity sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA== - dependencies: - chalk "^4.1.0" - consola "^2.15.0" - node-fetch "^2.6.1" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@socket.io/component-emitter@~3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz" - integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== - -"@sqltools/formatter@^1.2.5": - version "1.2.5" - resolved "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz" - integrity sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw== - -"@tsconfig/node10@^1.0.7": - version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz" - integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== - dependencies: - "@babel/types" "^7.20.7" - -"@types/bcrypt@^5.0.2": - version "5.0.2" - resolved "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz" - integrity sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ== - dependencies: - "@types/node" "*" - -"@types/body-parser@*": - version "1.19.5" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.38" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== - dependencies: - "@types/node" "*" - -"@types/cookie-parser@^1.4.3": - version "1.4.7" - resolved "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.7.tgz" - integrity sha512-Fvuyi354Z+uayxzIGCwYTayFKocfV7TuDYZClCdIP9ckhvAu/ixDtCB6qx2TT0FKjPLf1f3P/J1rgf6lPs64mw== - dependencies: - "@types/express" "*" - -"@types/cookie@^0.4.1": - version "0.4.1" - resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz" - integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== - -"@types/cookiejar@^2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz" - integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== - -"@types/cors@^2.8.12": - version "2.8.17" - resolved "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz" - integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== - dependencies: - "@types/node" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.56.7" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.7.tgz" - integrity sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/express-serve-static-core@^4.17.33": - version "4.19.0" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz" - integrity sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express-session@^1.17.7": - version "1.18.0" - resolved "https://registry.npmjs.org/@types/express-session/-/express-session-1.18.0.tgz" - integrity sha512-27JdDRgor6PoYlURY+Y5kCakqp5ulC0kmf7y+QwaY+hv9jEFuQOThgkjyA53RP3jmKuBsH5GR6qEfFmvb8mwOA== - dependencies: - "@types/express" "*" - -"@types/express@*", "@types/express@^4.17.13": - version "4.17.21" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/http-errors@*": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^29.5.1": - version "29.5.12" - resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz" - integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8": - version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/jsonwebtoken@*": - version "9.0.6" - resolved "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.6.tgz" - integrity sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw== - dependencies: - "@types/node" "*" - -"@types/jsonwebtoken@9.0.5": - version "9.0.5" - resolved "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.5.tgz" - integrity sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA== - dependencies: - "@types/node" "*" - -"@types/luxon@~3.3.0": - version "3.3.8" - resolved "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.8.tgz" - integrity sha512-jYvz8UMLDgy3a5SkGJne8H7VA7zPV2Lwohjx0V8V31+SqAjNmurWMkk9cQhfvlcnXWudBpK9xPM1n4rljOcHYQ== - -"@types/methods@^1.1.4": - version "1.1.4" - resolved "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz" - integrity sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ== - -"@types/mime@^1": - version "1.3.5" - resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" - integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== - -"@types/node@*", "@types/node@^18.16.12": - version "18.19.31" - resolved "https://registry.npmjs.org/@types/node/-/node-18.19.31.tgz" - integrity sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA== - dependencies: - undici-types "~5.26.4" - -"@types/node@>=10.0.0": - version "20.12.6" - resolved "https://registry.npmjs.org/@types/node/-/node-20.12.6.tgz" - integrity sha512-3KurE8taB8GCvZBPngVbp0lk5CKi8M9f9k1rsADh0Evdz5SzJ+Q+Hx9uHoFGsLnLnd1xmkDQr2hVhlA0Mn0lKQ== - dependencies: - undici-types "~5.26.4" - -"@types/passport-jwt@^3.0.10": - version "3.0.13" - resolved "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.13.tgz" - integrity sha512-fjHaC6Bv8EpMMqzTnHP32SXlZGaNfBPC/Po5dmRGYi2Ky7ljXPbGnOy+SxZqa6iZvFgVhoJ1915Re3m93zmcfA== - dependencies: - "@types/express" "*" - "@types/jsonwebtoken" "*" - "@types/passport-strategy" "*" - -"@types/passport-strategy@*": - version "0.2.38" - resolved "https://registry.npmjs.org/@types/passport-strategy/-/passport-strategy-0.2.38.tgz" - integrity sha512-GC6eMqqojOooq993Tmnmp7AUTbbQSgilyvpCYQjT+H6JfG/g6RGc7nXEniZlp0zyKJ0WUdOiZWLBZft9Yug1uA== - dependencies: - "@types/express" "*" - "@types/passport" "*" - -"@types/passport@*": - version "1.0.16" - resolved "https://registry.npmjs.org/@types/passport/-/passport-1.0.16.tgz" - integrity sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A== - dependencies: - "@types/express" "*" - -"@types/qs@*", "@types/qs@^6.9.10": - version "6.9.14" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz" - integrity sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA== - -"@types/range-parser@*": - version "1.2.7" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" - integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== - -"@types/semver@^7.5.8": - version "7.5.8" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== - -"@types/send@*": - version "0.17.4" - resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-static@*": - version "1.15.7" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz" - integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== - dependencies: - "@types/http-errors" "*" - "@types/node" "*" - "@types/send" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/superagent@*": - version "8.1.6" - resolved "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.6.tgz" - integrity sha512-yzBOv+6meEHSzV2NThYYOA6RtqvPr3Hbob9ZLp3i07SH27CrYVfm8CrF7ydTmidtelsFiKx2I4gZAiAOamGgvQ== - dependencies: - "@types/cookiejar" "^2.1.5" - "@types/methods" "^1.1.4" - "@types/node" "*" - -"@types/supertest@^2.0.15": - version "2.0.16" - resolved "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz" - integrity sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg== - dependencies: - "@types/superagent" "*" - -"@types/triple-beam@^1.3.2": - version "1.3.5" - resolved "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz" - integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw== - -"@types/validator@^13.11.8": - version "13.12.2" - resolved "https://registry.npmjs.org/@types/validator/-/validator-13.12.2.tgz" - integrity sha512-6SlHBzUW8Jhf3liqrGGXyTJSIFe4nqlJ5A5KaMZ2l/vbM3Wh3KSybots/wfWVzNLK4D1NZluDlSQIbIEPx6oyA== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@types/zxcvbn@^4.4.1": - version "4.4.4" - resolved "https://registry.npmjs.org/@types/zxcvbn/-/zxcvbn-4.4.4.tgz" - integrity sha512-Tuk4q7q0DnpzyJDI4aMeghGuFu2iS1QAdKpabn8JfbtfGmVDUgvZv1I7mEjP61Bvnp3ljKCC8BE6YYSTNxmvRQ== - -"@typescript-eslint/eslint-plugin@^7.1.0": - version "7.6.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.6.0.tgz" - integrity sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.6.0" - "@typescript-eslint/type-utils" "7.6.0" - "@typescript-eslint/utils" "7.6.0" - "@typescript-eslint/visitor-keys" "7.6.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/parser@^7.1.0": - version "7.6.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.6.0.tgz" - integrity sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg== - dependencies: - "@typescript-eslint/scope-manager" "7.6.0" - "@typescript-eslint/types" "7.6.0" - "@typescript-eslint/typescript-estree" "7.6.0" - "@typescript-eslint/visitor-keys" "7.6.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@7.6.0": - version "7.6.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.6.0.tgz" - integrity sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w== - dependencies: - "@typescript-eslint/types" "7.6.0" - "@typescript-eslint/visitor-keys" "7.6.0" - -"@typescript-eslint/type-utils@7.6.0": - version "7.6.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.6.0.tgz" - integrity sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw== - dependencies: - "@typescript-eslint/typescript-estree" "7.6.0" - "@typescript-eslint/utils" "7.6.0" - debug "^4.3.4" - ts-api-utils "^1.3.0" - -"@typescript-eslint/types@7.6.0": - version "7.6.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.6.0.tgz" - integrity sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ== - -"@typescript-eslint/typescript-estree@7.6.0": - version "7.6.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.6.0.tgz" - integrity sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw== - dependencies: - "@typescript-eslint/types" "7.6.0" - "@typescript-eslint/visitor-keys" "7.6.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/utils@7.6.0": - version "7.6.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.6.0.tgz" - integrity sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.15" - "@types/semver" "^7.5.8" - "@typescript-eslint/scope-manager" "7.6.0" - "@typescript-eslint/types" "7.6.0" - "@typescript-eslint/typescript-estree" "7.6.0" - semver "^7.6.0" - -"@typescript-eslint/visitor-keys@7.6.0": - version "7.6.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.6.0.tgz" - integrity sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw== - dependencies: - "@typescript-eslint/types" "7.6.0" - eslint-visitor-keys "^3.4.3" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.11.5": - version "1.12.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.12.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.12.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -accepts@~1.3.4, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1: - version "8.3.2" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - -agent-base@6: - version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ajv-formats@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@8.12.0, ajv@^8.0.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-colors@4.1.3: - version "4.1.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -app-root-path@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz" - integrity sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA== - -append-field@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz" - integrity sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw== - -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-timsort@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz" - integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -async@3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/async/-/async-3.2.3.tgz" - integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== - -async@^3.2.3: - version "3.2.5" - resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -axios-retry@3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/axios-retry/-/axios-retry-3.4.0.tgz" - integrity sha512-VdgaP+gHH4iQYCCNUWF2pcqeciVOdGrBBAYUfTY+wPcO5Ltvp/37MLFNCmJKo7Gj3SHvCSdL8ouI1qLYJN3liA== - dependencies: - "@babel/runtime" "^7.15.4" - is-retry-allowed "^2.2.0" - -axios@1.6.2: - version "1.6.2" - resolved "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz" - integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axios@^1.6.7: - version "1.6.8" - resolved "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz" - integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/base-x/-/base-x-4.0.0.tgz" - integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base64id@2.0.0, base64id@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz" - integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== - -bcrypt@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz" - integrity sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww== - dependencies: - "@mapbox/node-pre-gyp" "^1.0.11" - node-addon-api "^5.0.0" - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -bignumber.js@^9.1.2: - version "9.1.2" - resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -bl@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -boxen@5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browserslist@^4.21.10, browserslist@^4.22.2: - version "4.23.0" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bs58@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/bs58/-/bs58-5.0.0.tgz" - integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== - dependencies: - base-x "^4.0.0" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -busboy@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cache-manager@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/cache-manager/-/cache-manager-4.1.0.tgz" - integrity sha512-ZGM6dLxrP65bfOZmcviWMadUOCICqpLs92+P/S5tj8onz+k+tB7Gr+SAgOUHCQtfm2gYEQDHiKeul4+tYPOJ8A== - dependencies: - async "3.2.3" - lodash.clonedeep "^4.5.0" - lru-cache "^7.10.1" - -call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001587: - version "1.0.30001607" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001607.tgz" - integrity sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w== - -ccxt@^4.1.98: - version "4.2.93" - resolved "https://registry.npmjs.org/ccxt/-/ccxt-4.2.93.tgz" - integrity sha512-rdh/7NxHZmSBPqPUM193t+Z8ul1I3NMCqGyJiyWaYeTSk/fdkEkmx1HAO/5BtFi/AcH+2py/8x8PNKK2VosCRQ== - dependencies: - ws "^8.8.1" - -chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -check-disk-space@3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/check-disk-space/-/check-disk-space-3.4.0.tgz" - integrity sha512-drVkSqfwA+TvuEhFipiR1OC9boEGZL5RrWvVsOthdcvQNXyCCuKkEiTOTXZ7qxSf/GLwq4GvzfrQD/Wz325hgw== - -chokidar@3.6.0, chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -class-transformer@^0.5.1: - version "0.5.1" - resolved "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz" - integrity sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw== - -class-validator@^0.14.1: - version "0.14.1" - resolved "https://registry.npmjs.org/class-validator/-/class-validator-0.14.1.tgz" - integrity sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ== - dependencies: - "@types/validator" "^13.11.8" - libphonenumber-js "^1.10.53" - validator "^13.9.0" - -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-highlight@^2.1.11: - version "2.1.11" - resolved "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz" - integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== - dependencies: - chalk "^4.0.0" - highlight.js "^10.7.1" - mz "^2.4.0" - parse5 "^5.1.1" - parse5-htmlparser2-tree-adapter "^6.0.0" - yargs "^16.0.0" - -cli-spinners@^2.5.0: - version "2.9.2" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz" - integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== - -cli-table3@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -cli-width@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz" - integrity sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -coingecko-api-v3@^0.0.29: - version "0.0.29" - resolved "https://registry.npmjs.org/coingecko-api-v3/-/coingecko-api-v3-0.0.29.tgz" - integrity sha512-4aF0mU6Pwmo78W4NsPbMslU3ooeSa2Dq8a8PFR+5+wWcWvTBMiUZgfy9UvybynYVsnvYCoyxtNwxTiMZBeZh4w== - dependencies: - https "^1.0.0" - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0, color-convert@^1.9.3: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.6.0: - version "1.9.1" - resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color-support@^1.1.2: - version "1.1.3" - resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -color@^3.1.3: - version "3.2.1" - resolved "https://registry.npmjs.org/color/-/color-3.2.1.tgz" - integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== - dependencies: - color-convert "^1.9.3" - color-string "^1.6.0" - -colorspace@1.1.x: - version "1.1.4" - resolved "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz" - integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w== - dependencies: - color "^3.1.3" - text-hex "1.0.x" - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -comment-json@4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/comment-json/-/comment-json-4.2.3.tgz" - integrity sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw== - dependencies: - array-timsort "^1.0.3" - core-util-is "^1.0.3" - esprima "^4.0.1" - has-own-prop "^2.0.0" - repeat-string "^1.6.1" - -component-emitter@^1.3.0: - version "1.3.1" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz" - integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.5.2: - version "1.6.2" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -consola@^2.15.0: - version "2.15.3" - resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" - integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== - -console-control-strings@^1.0.0, console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-parser@^1.4.6: - version "1.4.6" - resolved "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz" - integrity sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA== - dependencies: - cookie "0.4.1" - cookie-signature "1.0.6" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -cookie@~0.4.1: - version "0.4.2" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -cookiejar@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz" - integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== - -core-util-is@^1.0.3, core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cors@2.8.5, cors@~2.8.5: - version "2.8.5" - resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cosmiconfig@^8.2.0: - version "8.3.6" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cron@2.4.3: - version "2.4.3" - resolved "https://registry.npmjs.org/cron/-/cron-2.4.3.tgz" - integrity sha512-YBvExkQYF7w0PxyeFLRyr817YVDhGxaCi5/uRRMqa4aWD3IFKRd+uNbpW1VWMdqQy8PZ7CElc+accXJcauPKzQ== - dependencies: - "@types/luxon" "~3.3.0" - luxon "~3.3.0" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -dayjs@^1.11.9: - version "1.11.10" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decimal.js@^10.4.3: - version "10.4.3" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-libc@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz" - integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -dezalgo@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz" - integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== - dependencies: - asap "^2.0.0" - wrappy "1" - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dotenv-expand@10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz" - integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== - -dotenv@16.4.5, dotenv@^16.0.3, dotenv@^16.3.1: - version "16.4.5" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.4.668: - version "1.4.730" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.730.tgz" - integrity sha512-oJRPo82XEqtQAobHpJIR3zW5YO3sSRRkPz2an4yxi1UvqhsGm54vR/wzTFV74a3soDOJ8CKW7ajOOX5ESzddwg== - -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -enabled@2.0.x: - version "2.0.0" - resolved "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz" - integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -engine.io-client@~6.5.2: - version "6.5.3" - resolved "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz" - integrity sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - engine.io-parser "~5.2.1" - ws "~8.11.0" - xmlhttprequest-ssl "~2.0.0" - -engine.io-parser@~5.2.1: - version "5.2.2" - resolved "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz" - integrity sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw== - -engine.io@~6.5.2: - version "6.5.4" - resolved "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz" - integrity sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg== - dependencies: - "@types/cookie" "^0.4.1" - "@types/cors" "^2.8.12" - "@types/node" ">=10.0.0" - accepts "~1.3.4" - base64id "2.0.0" - cookie "~0.4.1" - cors "~2.8.5" - debug "~4.3.1" - engine.io-parser "~5.2.1" - ws "~8.11.0" - -enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0, enhanced-resolve@^5.7.0: - version "5.16.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz" - integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-module-lexer@^1.2.1: - version "1.5.0" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz" - integrity sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw== - -escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - -eslint-config-prettier@^9.0.0: - version "9.1.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - -eslint-plugin-prettier@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" - 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.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.0.1: - version "8.57.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -ethers@^5.7.2: - version "5.7.2" - resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" - -eventemitter2@6.4.9: - version "6.4.9" - resolved "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz" - integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -express@4.19.2, express@^4.18.2: - version "4.19.2" - resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.6.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -external-editor@^3.0.3, external-editor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.3.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-glob@^3.2.9: - version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-safe-stringify@2.1.1, fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fecha@^4.2.0: - version "4.2.3" - resolved "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz" - integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -figures@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz" - integrity sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== - dependencies: - escape-string-regexp "^5.0.0" - is-unicode-supported "^1.2.0" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -fn.name@1.x.x: - version "1.1.0" - resolved "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz" - integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== - -follow-redirects@^1.15.0, follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -fork-ts-checker-webpack-plugin@9.0.2: - version "9.0.2" - resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz" - integrity sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg== - dependencies: - "@babel/code-frame" "^7.16.7" - chalk "^4.1.2" - chokidar "^3.5.3" - cosmiconfig "^8.2.0" - deepmerge "^4.2.2" - fs-extra "^10.0.0" - memfs "^3.4.1" - minimatch "^3.0.4" - node-abort-controller "^3.0.1" - schema-utils "^3.1.1" - semver "^7.3.5" - tapable "^2.2.1" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -formidable@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz" - integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== - dependencies: - dezalgo "^1.0.4" - hexoid "^1.0.0" - once "^1.4.0" - qs "^6.11.0" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.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.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gauge@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz" - integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - object-assign "^4.1.1" - signal-exit "^3.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.2" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@10.3.10: - version "10.3.10" - resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - -glob@^10.3.10: - version "10.3.12" - resolved "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz" - integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.6" - minimatch "^9.0.1" - minipass "^7.0.4" - path-scurry "^1.10.2" - -glob@^7.0.0, glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^9.2.0: - version "9.3.5" - resolved "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz" - integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== - dependencies: - fs.realpath "^1.0.0" - minimatch "^8.0.2" - minipass "^4.2.4" - path-scurry "^1.6.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-own-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz" - integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== - -has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasown@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -hexoid@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz" - integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== - -highlight.js@^10.7.1: - version "10.7.3" - resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz" - integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -https@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/https/-/https-1.0.0.tgz" - integrity sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0, ignore@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inquirer@8.2.6: - version "8.2.6" - resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz" - integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== - 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 "^6.0.1" - -inquirer@9.2.12: - version "9.2.12" - resolved "https://registry.npmjs.org/inquirer/-/inquirer-9.2.12.tgz" - integrity sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q== - dependencies: - "@ljharb/through" "^2.3.11" - ansi-escapes "^4.3.2" - chalk "^5.3.0" - cli-cursor "^3.1.0" - cli-width "^4.1.0" - external-editor "^3.1.0" - figures "^5.0.0" - lodash "^4.17.21" - mute-stream "1.0.0" - ora "^5.4.1" - run-async "^3.0.0" - rxjs "^7.8.1" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wrap-ansi "^6.2.0" - -int64-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/int64-buffer/-/int64-buffer-1.0.1.tgz" - integrity sha512-+3azY4pXrjAupJHU1V9uGERWlhoqNswJNji6aD/02xac7oxol508AsMC5lxKhEqyZeDFy3enq5OGWXF4u75hiw== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-retry-allowed@2.2.0, is-retry-allowed@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz" - integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-unicode-supported@^1.2.0: - version "1.3.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz" - integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.2" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz" - integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -iterare@1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz" - integrity sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q== - -jackspeak@^2.3.5, jackspeak@^2.3.6: - version "2.3.6" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.0.0, jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.5.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-parser@3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonc-parser@3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonwebtoken@9.0.2, jsonwebtoken@^9.0.0, jsonwebtoken@^9.0.2: - version "9.0.2" - resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz" - integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -kuler@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz" - integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -libphonenumber-js@^1.10.53: - version "1.11.12" - resolved "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.11.12.tgz" - integrity sha512-QkJn9/D7zZ1ucvT++TQSvZuSA2xAWeUytU+DiEQwbPKLyrDpvbul2AFs1CGbRAPpSCCk47aRAb5DX5mmcayp4g== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" - integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash@4.17.21, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -logform@^2.3.2, logform@^2.4.0: - version "2.6.0" - resolved "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz" - integrity sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ== - dependencies: - "@colors/colors" "1.6.0" - "@types/triple-beam" "^1.3.2" - fecha "^4.2.0" - ms "^2.1.1" - safe-stable-stringify "^2.3.1" - triple-beam "^1.3.0" - -lru-cache@^10.2.0: - version "10.2.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.10.1: - version "7.18.3" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - -luxon@~3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz" - integrity sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg== - -magic-string@0.30.5: - version "0.30.5" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz" - integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - -make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.4.1: - version "3.6.0" - resolved "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@^1.1.2, methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^4.0.0, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@2.6.0: - version "2.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^8.0.2: - version "8.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz" - integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.1, minimatch@^9.0.4: - version "9.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass@^3.0.0: - version "3.3.6" - resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^4.2.4: - version "4.2.8" - resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz" - integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: - version "7.0.4" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mkdirp@^0.5.4: - version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@^2.1.3: - version "2.1.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz" - integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multer@1.4.4-lts.1: - version "1.4.4-lts.1" - resolved "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz" - integrity sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg== - dependencies: - append-field "^1.0.0" - busboy "^1.0.0" - concat-stream "^1.5.2" - mkdirp "^0.5.4" - object-assign "^4.1.1" - type-is "^1.6.4" - xtend "^4.0.0" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -mute-stream@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz" - integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== - -mz@^2.4.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nano-seconds@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/nano-seconds/-/nano-seconds-1.2.2.tgz" - integrity sha512-s06EY41x1hM6BJE2HhIFRzvXuVUlZNd4761lduv+hjgtDDR7W4RzhShkap2wJcWMO6+CahR+49cCQJfFmgf7gw== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-abort-controller@^3.0.1: - version "3.1.1" - resolved "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - -node-addon-api@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz" - integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== - -node-emoji@1.11.0: - version "1.11.0" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== - dependencies: - lodash "^4.17.21" - -node-fetch@^2.6.1, node-fetch@^2.6.7: - version "2.7.0" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz" - integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^3.0.0" - set-blocking "^2.0.0" - -object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -once@^1.3.0, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -one-time@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz" - integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== - dependencies: - fn.name "1.x.x" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -ora@5.4.1, ora@^5.4.1: - version "5.4.1" - resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" - 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.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@^2.0.4: - version "2.1.0" - resolved "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz" - integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5-htmlparser2-tree-adapter@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz" - integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== - dependencies: - parse5 "^6.0.1" - -parse5@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -parse5@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -passport-jwt@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.1.tgz" - integrity sha512-UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ== - dependencies: - jsonwebtoken "^9.0.0" - passport-strategy "^1.0.0" - -passport-strategy@1.x.x, passport-strategy@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz" - integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA== - -passport@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz" - integrity sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ== - dependencies: - passport-strategy "1.x.x" - pause "0.0.1" - utils-merge "^1.0.1" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-scurry@^1.10.1, path-scurry@^1.10.2, path-scurry@^1.6.1: - version "1.10.2" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz" - integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-to-regexp@0.2.5: - version "0.2.5" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.2.5.tgz" - integrity sha512-l6qtdDPIkmAmzEO6egquYDfqQGPMRNGjYtrU13HAXb3YSRrt7HSb1sJY0pKp6o2bAa86tSB6iwaW2JbthPKr7Q== - -path-to-regexp@3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz" - integrity sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pause@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" - integrity sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg== - -pg-cloudflare@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz" - integrity sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== - -pg-connection-string@^2.6.4: - version "2.6.4" - resolved "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.4.tgz" - integrity sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA== - -pg-int8@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz" - integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== - -pg-pool@^3.6.2: - version "3.6.2" - resolved "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.2.tgz" - integrity sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg== - -pg-protocol@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.1.tgz" - integrity sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg== - -pg-types@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz" - integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== - dependencies: - pg-int8 "1.0.1" - postgres-array "~2.0.0" - postgres-bytea "~1.0.0" - postgres-date "~1.0.4" - postgres-interval "^1.1.0" - -pg@^8.11.3: - version "8.11.5" - resolved "https://registry.npmjs.org/pg/-/pg-8.11.5.tgz" - integrity sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw== - dependencies: - pg-connection-string "^2.6.4" - pg-pool "^3.6.2" - pg-protocol "^1.6.1" - pg-types "^2.1.0" - pgpass "1.x" - optionalDependencies: - pg-cloudflare "^1.1.1" - -pgpass@1.x: - version "1.0.5" - resolved "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz" - integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== - dependencies: - split2 "^4.1.0" - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz" - integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pluralize@8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - -postgres-array@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz" - integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== - -postgres-bytea@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz" - integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== - -postgres-date@~1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz" - integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== - -postgres-interval@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz" - integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== - dependencies: - xtend "^4.0.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^2.3.2: - version "2.8.8" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz" - integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.0, qs@^6.11.2: - version "6.12.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz" - integrity sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg== - dependencies: - side-channel "^1.0.6" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -readable-stream@^2.2.2: - version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -reflect-metadata@^0.2.1: - version "0.2.2" - resolved "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz" - integrity sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.1.6, resolve@^1.20.0: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@4.4.1: - version "4.4.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz" - integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og== - dependencies: - glob "^9.2.0" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-async@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz" - integrity sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@7.8.1, rxjs@^7.5.5, rxjs@^7.8.1: - version "7.8.1" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-stable-stringify@^2.3.1: - version "2.4.3" - resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz" - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -scrypt-js@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.11: - version "2.4.11" - resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shelljs@0.8.5: - version "0.8.5" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -socket.io-adapter@~2.5.2: - version "2.5.4" - resolved "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz" - integrity sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg== - dependencies: - debug "~4.3.4" - ws "~8.11.0" - -socket.io-client@^4.7.4: - version "4.7.5" - resolved "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz" - integrity sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.2" - engine.io-client "~6.5.2" - socket.io-parser "~4.2.4" - -socket.io-parser@~4.2.4: - version "4.2.4" - resolved "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz" - integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - -socket.io@4.7.5, socket.io@^4.7.3: - version "4.7.5" - resolved "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz" - integrity sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA== - dependencies: - accepts "~1.3.4" - base64id "~2.0.0" - cors "~2.8.5" - debug "~4.3.2" - engine.io "~6.5.2" - socket.io-adapter "~2.5.2" - socket.io-parser "~4.2.4" - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@0.5.21, source-map-support@^0.5.20, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.7.4, source-map@^0.7.4: - version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -split2@^4.1.0: - version "4.2.0" - resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-trace@0.0.x: - version "0.0.10" - resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" - integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -superagent@^8.1.2: - version "8.1.2" - resolved "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz" - integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== - dependencies: - component-emitter "^1.3.0" - cookiejar "^2.1.4" - debug "^4.3.4" - fast-safe-stringify "^2.1.1" - form-data "^4.0.0" - formidable "^2.1.2" - methods "^1.1.2" - mime "2.6.0" - qs "^6.11.0" - semver "^7.3.8" - -supertest@^6.1.3: - version "6.3.4" - resolved "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz" - integrity sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw== - dependencies: - methods "^1.1.2" - superagent "^8.1.2" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -swagger-ui-dist@5.11.2: - version "5.11.2" - resolved "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.11.2.tgz" - integrity sha512-jQG0cRgJNMZ7aCoiFofnoojeSaa/+KgWaDlfgs8QN+BXoGMpxeMVY5OEnjq4OlNvF3yjftO8c9GRAgcHlO+u7A== - -swagger-ui-dist@>=5.0.0: - version "5.14.0" - resolved "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.14.0.tgz" - integrity sha512-7qsKvc3gs5dnEIOclY4xkzacY85Pu9a/Gzkf+eezKLQ4BpErlI8BxYWADhnCx6PmFyU4fxH4AMKH+/d3Kml0Gg== - -swagger-ui-express@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-5.0.0.tgz" - integrity sha512-tsU9tODVvhyfkNSvf03E6FAk+z+5cU3lXAzMy6Pv4av2Gt2xA0++fogwC4qo19XuFf6hdxevPuVCSKFuMHJhFA== - dependencies: - swagger-ui-dist ">=5.0.0" - -symbol-observable@4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - -tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tar@^6.1.11: - version "6.2.1" - resolved "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz" - integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.26.0: - version "5.30.3" - resolved "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz" - integrity sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-hex@1.0.x: - version "1.0.0" - resolved "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz" - integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -tree-kill@1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - -triple-beam@^1.3.0: - version "1.4.1" - resolved "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz" - integrity sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg== - -ts-api-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== - -ts-jest@^29.1.1: - version "29.1.2" - resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz" - integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" - -ts-loader@^9.2.3: - version "9.5.1" - resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz" - integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - source-map "^0.7.4" - -ts-node@^10.0.0: - version "10.9.2" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths-webpack-plugin@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz" - integrity sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.7.0" - tsconfig-paths "^4.1.2" - -tsconfig-paths@4.2.0, tsconfig-paths@^4.1.2, tsconfig-paths@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@2.6.2, tslib@^2.1.0, tslib@^2.5.0: - version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-is@^1.6.4, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typeorm@^0.3.17: - version "0.3.20" - resolved "https://registry.npmjs.org/typeorm/-/typeorm-0.3.20.tgz" - integrity sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q== - dependencies: - "@sqltools/formatter" "^1.2.5" - app-root-path "^3.1.0" - buffer "^6.0.3" - chalk "^4.1.2" - cli-highlight "^2.1.11" - dayjs "^1.11.9" - debug "^4.3.4" - dotenv "^16.0.3" - glob "^10.3.10" - mkdirp "^2.1.3" - reflect-metadata "^0.2.1" - sha.js "^2.4.11" - tslib "^2.5.0" - uuid "^9.0.0" - yargs "^17.6.2" - -typescript@5.3.3: - version "5.3.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== - -typescript@^5.0.0: - version "5.4.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz" - integrity sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw== - -uid@2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz" - integrity sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g== - dependencies: - "@lukeed/csprng" "^1.0.0" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -utils-merge@1.0.1, utils-merge@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@9.0.1, uuid@^9.0.0, uuid@^9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -validator@^13.9.0: - version "13.12.0" - resolved "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz" - integrity sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.4.0: - version "2.4.1" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz" - integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webpack-node-externals@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz" - integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@5.90.1: - version "5.90.1" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz" - integrity sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.2: - version "1.1.5" - resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -winston-transport@^4.7.0: - version "4.7.0" - resolved "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz" - integrity sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg== - dependencies: - logform "^2.3.2" - readable-stream "^3.6.0" - triple-beam "^1.3.0" - -winston@^3.12.0: - version "3.13.0" - resolved "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz" - integrity sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ== - dependencies: - "@colors/colors" "^1.6.0" - "@dabh/diagnostics" "^2.0.2" - async "^3.2.3" - is-stream "^2.0.0" - logform "^2.4.0" - one-time "^1.0.0" - readable-stream "^3.4.0" - safe-stable-stringify "^2.3.1" - stack-trace "0.0.x" - triple-beam "^1.3.0" - winston-transport "^4.7.0" - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@7.4.6: - version "7.4.6" - resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@^8.7.0, ws@^8.8.1: - version "8.16.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== - -ws@~8.11.0: - version "8.11.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== - -xmlhttprequest-ssl@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz" - integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^16.0.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - 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" - -yargs@^17.3.1, yargs@^17.6.2: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: 10c0/53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@angular-devkit/core@npm:17.1.2": + version: 17.1.2 + resolution: "@angular-devkit/core@npm:17.1.2" + dependencies: + ajv: "npm:8.12.0" + ajv-formats: "npm:2.1.1" + jsonc-parser: "npm:3.2.0" + picomatch: "npm:3.0.1" + rxjs: "npm:7.8.1" + source-map: "npm:0.7.4" + peerDependencies: + chokidar: ^3.5.2 + peerDependenciesMeta: + chokidar: + optional: true + checksum: 10c0/2e589c681126238a6d1ff2c256d4b18c64da86303ebae1545bc8f9923b9d282752fc03972c5c2cf8b48bdd3452c301124ee7acc7ab98a8f9d703618b1aeb44d2 + languageName: node + linkType: hard + +"@angular-devkit/schematics-cli@npm:17.1.2": + version: 17.1.2 + resolution: "@angular-devkit/schematics-cli@npm:17.1.2" + dependencies: + "@angular-devkit/core": "npm:17.1.2" + "@angular-devkit/schematics": "npm:17.1.2" + ansi-colors: "npm:4.1.3" + inquirer: "npm:9.2.12" + symbol-observable: "npm:4.0.0" + yargs-parser: "npm:21.1.1" + bin: + schematics: bin/schematics.js + checksum: 10c0/cff34b26eeb8be2c14d2c57fd48c0421e2e967db981d4b3d0766b87947e61a79761e99b12b13bdaff899343513572a74fe02fbd78947537a736270fa1c497b8a + languageName: node + linkType: hard + +"@angular-devkit/schematics@npm:17.1.2": + version: 17.1.2 + resolution: "@angular-devkit/schematics@npm:17.1.2" + dependencies: + "@angular-devkit/core": "npm:17.1.2" + jsonc-parser: "npm:3.2.0" + magic-string: "npm:0.30.5" + ora: "npm:5.4.1" + rxjs: "npm:7.8.1" + checksum: 10c0/30db52fe227f84798598e9880ad6a7afaa5763b352168f3801efc87dea1c16d55426ccd6563b305415e5db0006c2fa00041df70986a873a24b0a3172aa1f84e2 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.1, @babel/code-frame@npm:^7.24.2": + version: 7.24.2 + resolution: "@babel/code-frame@npm:7.24.2" + dependencies: + "@babel/highlight": "npm:^7.24.2" + picocolors: "npm:^1.0.0" + checksum: 10c0/d1d4cba89475ab6aab7a88242e1fd73b15ecb9f30c109b69752956434d10a26a52cbd37727c4eca104b6d45227bd1dfce39a6a6f4a14c9b2f07f871e968cf406 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.23.5": + version: 7.24.4 + resolution: "@babel/compat-data@npm:7.24.4" + checksum: 10c0/9cd8a9cd28a5ca6db5d0e27417d609f95a8762b655e8c9c97fd2de08997043ae99f0139007083c5e607601c6122e8432c85fe391731b19bf26ad458fa0c60dd3 + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9": + version: 7.24.4 + resolution: "@babel/core@npm:7.24.4" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.24.2" + "@babel/generator": "npm:^7.24.4" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helpers": "npm:^7.24.4" + "@babel/parser": "npm:^7.24.4" + "@babel/template": "npm:^7.24.0" + "@babel/traverse": "npm:^7.24.1" + "@babel/types": "npm:^7.24.0" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/fc136966583e64d6f84f4a676368de6ab4583aa87f867186068655b30ef67f21f8e65a88c6d446a7efd219ad7ffb9185c82e8a90183ee033f6f47b5026641e16 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.24.1, @babel/generator@npm:^7.24.4, @babel/generator@npm:^7.7.2": + version: 7.24.4 + resolution: "@babel/generator@npm:7.24.4" + dependencies: + "@babel/types": "npm:^7.24.0" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^2.5.1" + checksum: 10c0/67a1b2f7cc985aaaa11b01e8ddd4fffa4f285837bc7a209738eb8203aa34bdafeb8507ed75fd883ddbabd641a036ca0a8d984e760f28ad4a9d60bff29d0a60bb + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/helper-compilation-targets@npm:7.23.6" + dependencies: + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-validator-option": "npm:^7.23.5" + browserslist: "npm:^4.22.2" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa + languageName: node + linkType: hard + +"@babel/helper-environment-visitor@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-environment-visitor@npm:7.22.20" + checksum: 10c0/e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-function-name@npm:7.23.0" + dependencies: + "@babel/template": "npm:^7.22.15" + "@babel/types": "npm:^7.23.0" + checksum: 10c0/d771dd1f3222b120518176733c52b7cadac1c256ff49b1889dbbe5e3fed81db855b8cc4e40d949c9d3eae0e795e8229c1c8c24c0e83f27cfa6ee3766696c6428 + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-hoist-variables@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/60a3077f756a1cd9f14eb89f0037f487d81ede2b7cfe652ea6869cd4ec4c782b0fb1de01b8494b9a2d2050e3d154d7d5ad3be24806790acfb8cbe2073bf1e208 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.22.15": + version: 7.24.3 + resolution: "@babel/helper-module-imports@npm:7.24.3" + dependencies: + "@babel/types": "npm:^7.24.0" + checksum: 10c0/052c188adcd100f5e8b6ff0c9643ddaabc58b6700d3bbbc26804141ad68375a9f97d9d173658d373d31853019e65f62610239e3295cdd58e573bdcb2fded188d + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-simple-access": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/helper-validator-identifier": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.24.0 + resolution: "@babel/helper-plugin-utils@npm:7.24.0" + checksum: 10c0/90f41bd1b4dfe7226b1d33a4bb745844c5c63e400f9e4e8bf9103a7ceddd7d425d65333b564d9daba3cebd105985764d51b4bd4c95822b97c2e3ac1201a8a5da + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-simple-access@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/f0cf81a30ba3d09a625fd50e5a9069e575c5b6719234e04ee74247057f8104beca89ed03e9217b6e9b0493434cedc18c5ecca4cea6244990836f1f893e140369 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.24.1 + resolution: "@babel/helper-string-parser@npm:7.24.1" + checksum: 10c0/2f9bfcf8d2f9f083785df0501dbab92770111ece2f90d120352fda6dd2a7d47db11b807d111e6f32aa1ba6d763fe2dc6603d153068d672a5d0ad33ca802632b2 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/helper-validator-option@npm:7.23.5" + checksum: 10c0/af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.24.4": + version: 7.24.4 + resolution: "@babel/helpers@npm:7.24.4" + dependencies: + "@babel/template": "npm:^7.24.0" + "@babel/traverse": "npm:^7.24.1" + "@babel/types": "npm:^7.24.0" + checksum: 10c0/747ef62b7fe87de31a2f3c19ff337a86cbb79be2f6c18af63133b614ab5a8f6da5b06ae4b06fb0e71271cb6a27efec6f8b6c9f44c60b8a18777832dc7929e6c5 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.24.2": + version: 7.24.2 + resolution: "@babel/highlight@npm:7.24.2" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/98ce00321daedeed33a4ed9362dc089a70375ff1b3b91228b9f05e6591d387a81a8cba68886e207861b8871efa0bc997ceabdd9c90f6cce3ee1b2f7f941b42db + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1, @babel/parser@npm:^7.24.4": + version: 7.24.4 + resolution: "@babel/parser@npm:7.24.4" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/8381e1efead5069cb7ed2abc3a583f4a86289b2f376c75cecc69f59a8eb36df18274b1886cecf2f97a6a0dff5334b27330f58535be9b3e4e26102cc50e12eac8 + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.8.3": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.12.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.24.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.24.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6cec76fbfe6ca81c9345c2904d8d9a8a0df222f9269f0962ed6eb2eb8f3f10c2f15e993d1ef09dbaf97726bf1792b5851cf5bd9a769f966a19448df6be95d19a + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.8.3": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.24.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.24.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7a81e277dcfe3138847e8e5944e02a42ff3c2e864aea6f33fd9b70d1556d12b0e70f0d56cc1985d353c91bcbf8fe163e6cc17418da21129b7f7f1d8b9ac00c93 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.15.4": + version: 7.24.4 + resolution: "@babel/runtime@npm:7.24.4" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/785aff96a3aa8ff97f90958e1e8a7b1d47f793b204b47c6455eaadc3f694f48c97cd5c0a921fe3596d818e71f18106610a164fb0f1c71fd68c622a58269d537c + languageName: node + linkType: hard + +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0, @babel/template@npm:^7.3.3": + version: 7.24.0 + resolution: "@babel/template@npm:7.24.0" + dependencies: + "@babel/code-frame": "npm:^7.23.5" + "@babel/parser": "npm:^7.24.0" + "@babel/types": "npm:^7.24.0" + checksum: 10c0/9d3dd8d22fe1c36bc3bdef6118af1f4b030aaf6d7d2619f5da203efa818a2185d717523486c111de8d99a8649ddf4bbf6b2a7a64962d8411cf6a8fa89f010e54 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.24.1": + version: 7.24.1 + resolution: "@babel/traverse@npm:7.24.1" + dependencies: + "@babel/code-frame": "npm:^7.24.1" + "@babel/generator": "npm:^7.24.1" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/parser": "npm:^7.24.1" + "@babel/types": "npm:^7.24.0" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/c087b918f6823776537ba246136c70e7ce0719fc05361ebcbfd16f4e6f2f6f1f8f4f9167f1d9b675f27d12074839605189cc9d689de20b89a85e7c140f23daab + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.3.3": + version: 7.24.0 + resolution: "@babel/types@npm:7.24.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.23.4" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/777a0bb5dbe038ca4c905fdafb1cdb6bdd10fe9d63ce13eca0bd91909363cbad554a53dc1f902004b78c1dcbc742056f877f2c99eeedff647333b1fadf51235d + languageName: node + linkType: hard + +"@babel/types@npm:^7.8.3": + version: 7.27.3 + resolution: "@babel/types@npm:7.27.3" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/bafdfc98e722a6b91a783b6f24388f478fd775f0c0652e92220e08be2cc33e02d42088542f1953ac5e5ece2ac052172b3dadedf12bec9aae57899e92fb9a9757 + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 + languageName: node + linkType: hard + +"@colors/colors@npm:1.5.0": + version: 1.5.0 + resolution: "@colors/colors@npm:1.5.0" + checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 + languageName: node + linkType: hard + +"@colors/colors@npm:1.6.0, @colors/colors@npm:^1.6.0": + version: 1.6.0 + resolution: "@colors/colors@npm:1.6.0" + checksum: 10c0/9328a0778a5b0db243af54455b79a69e3fb21122d6c15ef9e9fcc94881d8d17352d8b2b2590f9bdd46fac5c2d6c1636dcfc14358a20c70e22daf89e1a759b629 + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 + languageName: node + linkType: hard + +"@dabh/diagnostics@npm:^2.0.2": + version: 2.0.3 + resolution: "@dabh/diagnostics@npm:2.0.3" + dependencies: + colorspace: "npm:1.1.x" + enabled: "npm:2.0.x" + kuler: "npm:^2.0.0" + checksum: 10c0/a5133df8492802465ed01f2f0a5784585241a1030c362d54a602ed1839816d6c93d71dde05cf2ddb4fd0796238c19774406bd62fa2564b637907b495f52425fe + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" + dependencies: + eslint-visitor-keys: "npm:^3.3.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^9.6.0" + globals: "npm:^13.19.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + languageName: node + linkType: hard + +"@eslint/js@npm:8.57.0": + version: 8.57.0 + resolution: "@eslint/js@npm:8.57.0" + checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 + languageName: node + linkType: hard + +"@ethersproject/abi@npm:5.7.0, @ethersproject/abi@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abi@npm:5.7.0" + dependencies: + "@ethersproject/address": "npm:^5.7.0" + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/constants": "npm:^5.7.0" + "@ethersproject/hash": "npm:^5.7.0" + "@ethersproject/keccak256": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/strings": "npm:^5.7.0" + checksum: 10c0/7de51bf52ff03df2526546dacea6e74f15d4c5ef762d931552082b9600dcefd8e333599f02d7906ba89f7b7f48c45ab72cee76f397212b4f17fa9d9ff5615916 + languageName: node + linkType: hard + +"@ethersproject/abstract-provider@npm:5.7.0, @ethersproject/abstract-provider@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abstract-provider@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/networks": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/transactions": "npm:^5.7.0" + "@ethersproject/web": "npm:^5.7.0" + checksum: 10c0/a5708e2811b90ddc53d9318ce152511a32dd4771aa2fb59dbe9e90468bb75ca6e695d958bf44d13da684dc3b6aab03f63d425ff7591332cb5d7ddaf68dff7224 + languageName: node + linkType: hard + +"@ethersproject/abstract-signer@npm:5.7.0, @ethersproject/abstract-signer@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abstract-signer@npm:5.7.0" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.7.0" + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + checksum: 10c0/e174966b3be17269a5974a3ae5eef6d15ac62ee8c300ceace26767f218f6bbf3de66f29d9a9c9ca300fa8551aab4c92e28d2cc772f5475fdeaa78d9b5be0e745 + languageName: node + linkType: hard + +"@ethersproject/address@npm:5.7.0, @ethersproject/address@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/address@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/keccak256": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/rlp": "npm:^5.7.0" + checksum: 10c0/db5da50abeaae8f6cf17678323e8d01cad697f9a184b0593c62b71b0faa8d7e5c2ba14da78a998d691773ed6a8eb06701f65757218e0eaaeb134e5c5f3e5a908 + languageName: node + linkType: hard + +"@ethersproject/base64@npm:5.7.0, @ethersproject/base64@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/base64@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + checksum: 10c0/4f748cd82af60ff1866db699fbf2bf057feff774ea0a30d1f03ea26426f53293ea10cc8265cda1695301da61093bedb8cc0d38887f43ed9dad96b78f19d7337e + languageName: node + linkType: hard + +"@ethersproject/basex@npm:5.7.0, @ethersproject/basex@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/basex@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + checksum: 10c0/02304de77477506ad798eb5c68077efd2531624380d770ef4a823e631a288fb680107a0f9dc4a6339b2a0b0f5b06ee77f53429afdad8f950cde0f3e40d30167d + languageName: node + linkType: hard + +"@ethersproject/bignumber@npm:5.7.0, @ethersproject/bignumber@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/bignumber@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + bn.js: "npm:^5.2.1" + checksum: 10c0/14263cdc91a7884b141d9300f018f76f69839c47e95718ef7161b11d2c7563163096fee69724c5fa8ef6f536d3e60f1c605819edbc478383a2b98abcde3d37b2 + languageName: node + linkType: hard + +"@ethersproject/bytes@npm:5.7.0, @ethersproject/bytes@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/bytes@npm:5.7.0" + dependencies: + "@ethersproject/logger": "npm:^5.7.0" + checksum: 10c0/07dd1f0341b3de584ef26c8696674ff2bb032f4e99073856fc9cd7b4c54d1d846cabe149e864be267934658c3ce799e5ea26babe01f83af0e1f06c51e5ac791f + languageName: node + linkType: hard + +"@ethersproject/constants@npm:5.7.0, @ethersproject/constants@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/constants@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.7.0" + checksum: 10c0/6df63ab753e152726b84595250ea722165a5744c046e317df40a6401f38556385a37c84dadf5b11ca651c4fb60f967046125369c57ac84829f6b30e69a096273 + languageName: node + linkType: hard + +"@ethersproject/contracts@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/contracts@npm:5.7.0" + dependencies: + "@ethersproject/abi": "npm:^5.7.0" + "@ethersproject/abstract-provider": "npm:^5.7.0" + "@ethersproject/abstract-signer": "npm:^5.7.0" + "@ethersproject/address": "npm:^5.7.0" + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/constants": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/transactions": "npm:^5.7.0" + checksum: 10c0/97a10361dddaccfb3e9e20e24d071cfa570050adcb964d3452c5f7c9eaaddb4e145ec9cf928e14417948701b89e81d4907800e799a6083123e4d13a576842f41 + languageName: node + linkType: hard + +"@ethersproject/hash@npm:5.7.0, @ethersproject/hash@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/hash@npm:5.7.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.7.0" + "@ethersproject/address": "npm:^5.7.0" + "@ethersproject/base64": "npm:^5.7.0" + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/keccak256": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/strings": "npm:^5.7.0" + checksum: 10c0/1a631dae34c4cf340dde21d6940dd1715fc7ae483d576f7b8ef9e8cb1d0e30bd7e8d30d4a7d8dc531c14164602323af2c3d51eb2204af18b2e15167e70c9a5ef + languageName: node + linkType: hard + +"@ethersproject/hdnode@npm:5.7.0, @ethersproject/hdnode@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/hdnode@npm:5.7.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.7.0" + "@ethersproject/basex": "npm:^5.7.0" + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/pbkdf2": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/sha2": "npm:^5.7.0" + "@ethersproject/signing-key": "npm:^5.7.0" + "@ethersproject/strings": "npm:^5.7.0" + "@ethersproject/transactions": "npm:^5.7.0" + "@ethersproject/wordlists": "npm:^5.7.0" + checksum: 10c0/36d5c13fe69b1e0a18ea98537bc560d8ba166e012d63faac92522a0b5f405eb67d8848c5aca69e2470f62743aaef2ac36638d9e27fd8c68f51506eb61479d51d + languageName: node + linkType: hard + +"@ethersproject/json-wallets@npm:5.7.0, @ethersproject/json-wallets@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/json-wallets@npm:5.7.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.7.0" + "@ethersproject/address": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/hdnode": "npm:^5.7.0" + "@ethersproject/keccak256": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/pbkdf2": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/random": "npm:^5.7.0" + "@ethersproject/strings": "npm:^5.7.0" + "@ethersproject/transactions": "npm:^5.7.0" + aes-js: "npm:3.0.0" + scrypt-js: "npm:3.0.1" + checksum: 10c0/f1a84d19ff38d3506f453abc4702107cbc96a43c000efcd273a056371363767a06a8d746f84263b1300266eb0c329fe3b49a9b39a37aadd016433faf9e15a4bb + languageName: node + linkType: hard + +"@ethersproject/keccak256@npm:5.7.0, @ethersproject/keccak256@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/keccak256@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + js-sha3: "npm:0.8.0" + checksum: 10c0/3b1a91706ff11f5ab5496840b9c36cedca27db443186d28b94847149fd16baecdc13f6fc5efb8359506392f2aba559d07e7f9c1e17a63f9d5de9f8053cfcb033 + languageName: node + linkType: hard + +"@ethersproject/logger@npm:5.7.0, @ethersproject/logger@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/logger@npm:5.7.0" + checksum: 10c0/d03d460fb2d4a5e71c627b7986fb9e50e1b59a6f55e8b42a545b8b92398b961e7fd294bd9c3d8f92b35d0f6ff9d15aa14c95eab378f8ea194e943c8ace343501 + languageName: node + linkType: hard + +"@ethersproject/networks@npm:5.7.1, @ethersproject/networks@npm:^5.7.0": + version: 5.7.1 + resolution: "@ethersproject/networks@npm:5.7.1" + dependencies: + "@ethersproject/logger": "npm:^5.7.0" + checksum: 10c0/9efcdce27f150459e85d74af3f72d5c32898823a99f5410e26bf26cca2d21fb14e403377314a93aea248e57fb2964e19cee2c3f7bfc586ceba4c803a8f1b75c0 + languageName: node + linkType: hard + +"@ethersproject/pbkdf2@npm:5.7.0, @ethersproject/pbkdf2@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/pbkdf2@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/sha2": "npm:^5.7.0" + checksum: 10c0/e5a29cf28b4f4ca1def94d37cfb6a9c05c896106ed64881707813de01c1e7ded613f1e95febcccda4de96aae929068831d72b9d06beef1377b5a1a13a0eb3ff5 + languageName: node + linkType: hard + +"@ethersproject/properties@npm:5.7.0, @ethersproject/properties@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/properties@npm:5.7.0" + dependencies: + "@ethersproject/logger": "npm:^5.7.0" + checksum: 10c0/4fe5d36e5550b8e23a305aa236a93e8f04d891d8198eecdc8273914c761b0e198fd6f757877406ee3eb05033ec271132a3e5998c7bd7b9a187964fb4f67b1373 + languageName: node + linkType: hard + +"@ethersproject/providers@npm:5.7.2": + version: 5.7.2 + resolution: "@ethersproject/providers@npm:5.7.2" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.7.0" + "@ethersproject/abstract-signer": "npm:^5.7.0" + "@ethersproject/address": "npm:^5.7.0" + "@ethersproject/base64": "npm:^5.7.0" + "@ethersproject/basex": "npm:^5.7.0" + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/constants": "npm:^5.7.0" + "@ethersproject/hash": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/networks": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/random": "npm:^5.7.0" + "@ethersproject/rlp": "npm:^5.7.0" + "@ethersproject/sha2": "npm:^5.7.0" + "@ethersproject/strings": "npm:^5.7.0" + "@ethersproject/transactions": "npm:^5.7.0" + "@ethersproject/web": "npm:^5.7.0" + bech32: "npm:1.1.4" + ws: "npm:7.4.6" + checksum: 10c0/4c8d19e6b31f769c24042fb2d02e483a4ee60dcbfca9e3291f0a029b24337c47d1ea719a390be856f8fd02997125819e834415e77da4fb2023369712348dae4c + languageName: node + linkType: hard + +"@ethersproject/random@npm:5.7.0, @ethersproject/random@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/random@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + checksum: 10c0/23e572fc55372653c22062f6a153a68c2e2d3200db734cd0d39621fbfd0ca999585bed2d5682e3ac65d87a2893048375682e49d1473d9965631ff56d2808580b + languageName: node + linkType: hard + +"@ethersproject/rlp@npm:5.7.0, @ethersproject/rlp@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/rlp@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + checksum: 10c0/bc863d21dcf7adf6a99ae75c41c4a3fb99698cfdcfc6d5d82021530f3d3551c6305bc7b6f0475ad6de6f69e91802b7e872bee48c0596d98969aefcf121c2a044 + languageName: node + linkType: hard + +"@ethersproject/sha2@npm:5.7.0, @ethersproject/sha2@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/sha2@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + hash.js: "npm:1.1.7" + checksum: 10c0/0e7f9ce6b1640817b921b9c6dd9dab8d5bf5a0ce7634d6a7d129b7366a576c2f90dcf4bcb15a0aa9310dde67028f3a44e4fcc2f26b565abcd2a0f465116ff3b1 + languageName: node + linkType: hard + +"@ethersproject/signing-key@npm:5.7.0, @ethersproject/signing-key@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/signing-key@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + bn.js: "npm:^5.2.1" + elliptic: "npm:6.5.4" + hash.js: "npm:1.1.7" + checksum: 10c0/fe2ca55bcdb6e370d81372191d4e04671234a2da872af20b03c34e6e26b97dc07c1ee67e91b673680fb13344c9d5d7eae52f1fa6117733a3d68652b778843e09 + languageName: node + linkType: hard + +"@ethersproject/solidity@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/solidity@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/keccak256": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/sha2": "npm:^5.7.0" + "@ethersproject/strings": "npm:^5.7.0" + checksum: 10c0/bedf9918911144b0ec352b8aa7fa44abf63f0b131629c625672794ee196ba7d3992b0e0d3741935ca176813da25b9bcbc81aec454652c63113bdc3a1706beac6 + languageName: node + linkType: hard + +"@ethersproject/strings@npm:5.7.0, @ethersproject/strings@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/strings@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/constants": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + checksum: 10c0/570d87040ccc7d94de9861f76fc2fba6c0b84c5d6104a99a5c60b8a2401df2e4f24bf9c30afa536163b10a564a109a96f02e6290b80e8f0c610426f56ad704d1 + languageName: node + linkType: hard + +"@ethersproject/transactions@npm:5.7.0, @ethersproject/transactions@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/transactions@npm:5.7.0" + dependencies: + "@ethersproject/address": "npm:^5.7.0" + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/constants": "npm:^5.7.0" + "@ethersproject/keccak256": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/rlp": "npm:^5.7.0" + "@ethersproject/signing-key": "npm:^5.7.0" + checksum: 10c0/aa4d51379caab35b9c468ed1692a23ae47ce0de121890b4f7093c982ee57e30bd2df0c743faed0f44936d7e59c55fffd80479f2c28ec6777b8de06bfb638c239 + languageName: node + linkType: hard + +"@ethersproject/units@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/units@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/constants": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + checksum: 10c0/4da2fdefe2a506cc9f8b408b2c8638ab35b843ec413d52713143f08501a55ff67a808897f9a91874774fb526423a0821090ba294f93e8bf4933a57af9677ac5e + languageName: node + linkType: hard + +"@ethersproject/wallet@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/wallet@npm:5.7.0" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.7.0" + "@ethersproject/abstract-signer": "npm:^5.7.0" + "@ethersproject/address": "npm:^5.7.0" + "@ethersproject/bignumber": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/hash": "npm:^5.7.0" + "@ethersproject/hdnode": "npm:^5.7.0" + "@ethersproject/json-wallets": "npm:^5.7.0" + "@ethersproject/keccak256": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/random": "npm:^5.7.0" + "@ethersproject/signing-key": "npm:^5.7.0" + "@ethersproject/transactions": "npm:^5.7.0" + "@ethersproject/wordlists": "npm:^5.7.0" + checksum: 10c0/f872b957db46f9de247d39a398538622b6c7a12f93d69bec5f47f9abf0701ef1edc10497924dd1c14a68109284c39a1686fa85586d89b3ee65df49002c40ba4c + languageName: node + linkType: hard + +"@ethersproject/web@npm:5.7.1, @ethersproject/web@npm:^5.7.0": + version: 5.7.1 + resolution: "@ethersproject/web@npm:5.7.1" + dependencies: + "@ethersproject/base64": "npm:^5.7.0" + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/strings": "npm:^5.7.0" + checksum: 10c0/c82d6745c7f133980e8dab203955260e07da22fa544ccafdd0f21c79fae127bd6ef30957319e37b1cc80cddeb04d6bfb60f291bb14a97c9093d81ce50672f453 + languageName: node + linkType: hard + +"@ethersproject/wordlists@npm:5.7.0, @ethersproject/wordlists@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/wordlists@npm:5.7.0" + dependencies: + "@ethersproject/bytes": "npm:^5.7.0" + "@ethersproject/hash": "npm:^5.7.0" + "@ethersproject/logger": "npm:^5.7.0" + "@ethersproject/properties": "npm:^5.7.0" + "@ethersproject/strings": "npm:^5.7.0" + checksum: 10c0/da4f3eca6d691ebf4f578e6b2ec3a76dedba791be558f6cf7e10cd0bfbaeab5a6753164201bb72ced745fb02b6ef7ef34edcb7e6065ce2b624c6556a461c3f70 + languageName: node + linkType: hard + +"@golevelup/ts-jest@npm:^0.4.0": + version: 0.4.0 + resolution: "@golevelup/ts-jest@npm:0.4.0" + checksum: 10c0/1540119161ddf669dacceee1a44cfe6b69bc45365b54dbe5b87d3e25e4b635fd27b47efe135cbab3b9f83546a9a6d6253012fd5f499b8c90389f063385c6d356 + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.11.14": + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" + dependencies: + "@humanwhocodes/object-schema": "npm:^2.0.2" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^2.0.2": + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: "npm:^5.3.1" + find-up: "npm:^4.1.0" + get-package-type: "npm:^0.1.0" + js-yaml: "npm:^3.13.1" + resolve-from: "npm:^5.0.0" + checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a + languageName: node + linkType: hard + +"@jest/console@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/console@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10c0/7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c + languageName: node + linkType: hard + +"@jest/core@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/core@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/reporters": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-changed-files: "npm:^29.7.0" + jest-config: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-resolve-dependencies: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-ansi: "npm:^6.0.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10c0/934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 + languageName: node + linkType: hard + +"@jest/environment@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/environment@npm:29.7.0" + dependencies: + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + checksum: 10c0/c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 + languageName: node + linkType: hard + +"@jest/expect-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect-utils@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a + languageName: node + linkType: hard + +"@jest/expect@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect@npm:29.7.0" + dependencies: + expect: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + checksum: 10c0/b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/fake-timers@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@sinonjs/fake-timers": "npm:^10.0.2" + "@types/node": "npm:*" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c + languageName: node + linkType: hard + +"@jest/globals@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/globals@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + jest-mock: "npm:^29.7.0" + checksum: 10c0/a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea + languageName: node + linkType: hard + +"@jest/reporters@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/reporters@npm:29.7.0" + dependencies: + "@bcoe/v8-coverage": "npm:^0.2.3" + "@jest/console": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + collect-v8-coverage: "npm:^1.0.0" + exit: "npm:^0.1.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + istanbul-lib-coverage: "npm:^3.0.0" + istanbul-lib-instrument: "npm:^6.0.0" + istanbul-lib-report: "npm:^3.0.0" + istanbul-lib-source-maps: "npm:^4.0.0" + istanbul-reports: "npm:^3.1.3" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + slash: "npm:^3.0.0" + string-length: "npm:^4.0.1" + strip-ansi: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.0.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10c0/a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jest/source-map@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/source-map@npm:29.6.3" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.18" + callsites: "npm:^3.0.0" + graceful-fs: "npm:^4.2.9" + checksum: 10c0/a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 + languageName: node + linkType: hard + +"@jest/test-result@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-result@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + collect-v8-coverage: "npm:^1.0.0" + checksum: 10c0/7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-sequencer@npm:29.7.0" + dependencies: + "@jest/test-result": "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10c0/593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b + languageName: node + linkType: hard + +"@jest/transform@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/transform@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + babel-plugin-istanbul: "npm:^6.1.1" + chalk: "npm:^4.0.0" + convert-source-map: "npm:^2.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pirates: "npm:^4.0.4" + slash: "npm:^3.0.0" + write-file-atomic: "npm:^4.0.2" + checksum: 10c0/7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 + languageName: node + linkType: hard + +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" + dependencies: + "@jest/schemas": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^3.0.0" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.8" + chalk: "npm:^4.0.0" + checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.6 + resolution: "@jridgewell/source-map@npm:0.3.6" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + +"@ljharb/through@npm:^2.3.11": + version: 2.3.13 + resolution: "@ljharb/through@npm:2.3.13" + dependencies: + call-bind: "npm:^1.0.7" + checksum: 10c0/fb60b2fb2c674a674d8ebdb8972ccf52f8a62a9c1f5a2ac42557bc0273231c65d642aa2d7627cbb300766a25ae4642acd0f95fba2f8a1ff891086f0cb15807c3 + languageName: node + linkType: hard + +"@lukeed/csprng@npm:^1.0.0": + version: 1.1.0 + resolution: "@lukeed/csprng@npm:1.1.0" + checksum: 10c0/5d6dcf478af732972083ab2889c294b57f1028fa13c2c240d7a4aaa079c2c75df7ef0dcbdda5419147fc6704b4adf96b2de92f1a9a72ac21c6350c4014fffe6c + languageName: node + linkType: hard + +"@mapbox/node-pre-gyp@npm:^1.0.11": + version: 1.0.11 + resolution: "@mapbox/node-pre-gyp@npm:1.0.11" + dependencies: + detect-libc: "npm:^2.0.0" + https-proxy-agent: "npm:^5.0.0" + make-dir: "npm:^3.1.0" + node-fetch: "npm:^2.6.7" + nopt: "npm:^5.0.0" + npmlog: "npm:^5.0.1" + rimraf: "npm:^3.0.2" + semver: "npm:^7.3.5" + tar: "npm:^6.1.11" + bin: + node-pre-gyp: bin/node-pre-gyp + checksum: 10c0/2b24b93c31beca1c91336fa3b3769fda98e202fb7f9771f0f4062588d36dcc30fcf8118c36aa747fa7f7610d8cf601872bdaaf62ce7822bb08b545d1bbe086cc + languageName: node + linkType: hard + +"@microsoft/tsdoc@npm:^0.14.2": + version: 0.14.2 + resolution: "@microsoft/tsdoc@npm:0.14.2" + checksum: 10c0/c018857ad439144559ce34a397a29ace7cf5b24b999b8e3c1b88d878338088b3a453eaac4435beaf2c7eae13c4c0aac81e42f96f0f1d48e8d4eeb438eb3bb82f + languageName: node + linkType: hard + +"@mixin.dev/mixin-node-sdk@npm:^7.0.8": + version: 7.0.8 + resolution: "@mixin.dev/mixin-node-sdk@npm:7.0.8" + dependencies: + "@noble/curves": "npm:^1.2.0" + "@noble/hashes": "npm:^1.3.2" + "@types/qs": "npm:^6.9.10" + axios: "npm:1.6.2" + axios-retry: "npm:3.4.0" + bignumber.js: "npm:^9.1.2" + bs58: "npm:^5.0.0" + int64-buffer: "npm:^1.0.1" + is-retry-allowed: "npm:2.2.0" + lodash.merge: "npm:^4.6.2" + nano-seconds: "npm:^1.2.2" + node-forge: "npm:^1.3.1" + pako: "npm:^2.0.4" + qs: "npm:^6.11.2" + serialize-javascript: "npm:^6.0.0" + uuid: "npm:^9.0.0" + ws: "npm:^8.7.0" + checksum: 10c0/3ef47767a4528c36fd656d14b6993746212033861313d66664ef9d7378a3d3f9f68c210e272a75a8b1fc056fe7a5df60dd6a6753727940e28be41d6aae45389a + languageName: node + linkType: hard + +"@nestjs/axios@npm:^3.0.2": + version: 3.0.2 + resolution: "@nestjs/axios@npm:3.0.2" + peerDependencies: + "@nestjs/common": ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 + axios: ^1.3.1 + rxjs: ^6.0.0 || ^7.0.0 + checksum: 10c0/7eaa7101fee31dca590ff58c8f5926ddcf6bf3670dabb45dc797b0f4052a6df7f1d31161124b79caa40cc035c009c2ea7bc28484830d846a7066a599c57cb451 + languageName: node + linkType: hard + +"@nestjs/cache-manager@npm:^2.1.1": + version: 2.2.2 + resolution: "@nestjs/cache-manager@npm:2.2.2" + peerDependencies: + "@nestjs/common": ^9.0.0 || ^10.0.0 + "@nestjs/core": ^9.0.0 || ^10.0.0 + cache-manager: <=5 + rxjs: ^7.0.0 + checksum: 10c0/03c1049bcf875e60e88eb9578e5e59290aa61747e5fcd418e7c23c1cb251597c2b0dbe0ec5f4b3b567beb8bd41fb507a4738c9c677a7925d2f712ae2628cf481 + languageName: node + linkType: hard + +"@nestjs/cli@npm:^10.3.2": + version: 10.3.2 + resolution: "@nestjs/cli@npm:10.3.2" + dependencies: + "@angular-devkit/core": "npm:17.1.2" + "@angular-devkit/schematics": "npm:17.1.2" + "@angular-devkit/schematics-cli": "npm:17.1.2" + "@nestjs/schematics": "npm:^10.0.1" + chalk: "npm:4.1.2" + chokidar: "npm:3.6.0" + cli-table3: "npm:0.6.3" + commander: "npm:4.1.1" + fork-ts-checker-webpack-plugin: "npm:9.0.2" + glob: "npm:10.3.10" + inquirer: "npm:8.2.6" + node-emoji: "npm:1.11.0" + ora: "npm:5.4.1" + rimraf: "npm:4.4.1" + shelljs: "npm:0.8.5" + source-map-support: "npm:0.5.21" + tree-kill: "npm:1.2.2" + tsconfig-paths: "npm:4.2.0" + tsconfig-paths-webpack-plugin: "npm:4.1.0" + typescript: "npm:5.3.3" + webpack: "npm:5.90.1" + webpack-node-externals: "npm:3.0.0" + peerDependencies: + "@swc/cli": ^0.1.62 || ^0.3.0 + "@swc/core": ^1.3.62 + peerDependenciesMeta: + "@swc/cli": + optional: true + "@swc/core": + optional: true + bin: + nest: bin/nest.js + checksum: 10c0/45d0ebf5024b9a2e68fdd700c766b36681d359f7b14ad7b2d98a49f7c97d6724b0f5fceb75378eb45d0accbe4605ead89247ce1b9e97467300a3b1d7b0fe008a + languageName: node + linkType: hard + +"@nestjs/common@npm:10.3.3": + version: 10.3.3 + resolution: "@nestjs/common@npm:10.3.3" + dependencies: + iterare: "npm:1.2.1" + tslib: "npm:2.6.2" + uid: "npm:2.0.2" + peerDependencies: + class-transformer: "*" + class-validator: "*" + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + checksum: 10c0/e0873b24169eb04d59ce95375740a73d2fc03c06799d7d316d462f4be798ccb4a68b3100bb704b7644e8c28deb3503612350cce8d25f4bf4a318a3ce01bbec0e + languageName: node + linkType: hard + +"@nestjs/config@npm:^3.2.0": + version: 3.2.2 + resolution: "@nestjs/config@npm:3.2.2" + dependencies: + dotenv: "npm:16.4.5" + dotenv-expand: "npm:10.0.0" + lodash: "npm:4.17.21" + uuid: "npm:9.0.1" + peerDependencies: + "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + rxjs: ^7.1.0 + checksum: 10c0/17340bd5bd40078b050a73d2e86bb3b644589cf00dab7964ccf5204df11f1c42d77a58c9fd63d0ba8532ed5d66607ffd34a2419e2e37d195dbcf6e8894c23d96 + languageName: node + linkType: hard + +"@nestjs/core@npm:10.2.10": + version: 10.2.10 + resolution: "@nestjs/core@npm:10.2.10" + dependencies: + "@nuxtjs/opencollective": "npm:0.3.2" + fast-safe-stringify: "npm:2.1.1" + iterare: "npm:1.2.1" + path-to-regexp: "npm:3.2.0" + tslib: "npm:2.6.2" + uid: "npm:2.0.2" + peerDependencies: + "@nestjs/common": ^10.0.0 + "@nestjs/microservices": ^10.0.0 + "@nestjs/platform-express": ^10.0.0 + "@nestjs/websockets": ^10.0.0 + reflect-metadata: ^0.1.12 + rxjs: ^7.1.0 + peerDependenciesMeta: + "@nestjs/microservices": + optional: true + "@nestjs/platform-express": + optional: true + "@nestjs/websockets": + optional: true + checksum: 10c0/80c29a768a70f2b26245b9f99054733e5cbbd7e9ebf9e4452d7c311423c8c1a211386958ccce44fd3cea11ef754d033b9359295bfa3ff916400fc30789cc7a50 + languageName: node + linkType: hard + +"@nestjs/event-emitter@npm:^2.0.4": + version: 2.0.4 + resolution: "@nestjs/event-emitter@npm:2.0.4" + dependencies: + eventemitter2: "npm:6.4.9" + peerDependencies: + "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + "@nestjs/core": ^8.0.0 || ^9.0.0 || ^10.0.0 + checksum: 10c0/14fb3053a94870ff7931dbfcb47e1456860e846700ceaa88f6f2e932e7dddc0d77187019da4a51053d95a247f629faf3dba262754d24abb02a66414094fff6b9 + languageName: node + linkType: hard + +"@nestjs/jwt@npm:^10.0.3": + version: 10.2.0 + resolution: "@nestjs/jwt@npm:10.2.0" + dependencies: + "@types/jsonwebtoken": "npm:9.0.5" + jsonwebtoken: "npm:9.0.2" + peerDependencies: + "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + checksum: 10c0/81c5cbcb459122b175ad6b50dad83aab7d5dc3beb6122a56c7f985cc1c7838cd1c5eae9d630e95550b95a03e183502a183029e36ba51879c638bd0bad086c056 + languageName: node + linkType: hard + +"@nestjs/mapped-types@npm:2.0.5": + version: 2.0.5 + resolution: "@nestjs/mapped-types@npm:2.0.5" + peerDependencies: + "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + class-transformer: ^0.4.0 || ^0.5.0 + class-validator: ^0.13.0 || ^0.14.0 + reflect-metadata: ^0.1.12 || ^0.2.0 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + checksum: 10c0/f92743cb4c0fe3b1eecdf0c7c6a40f0e7478574a9e1a25ebdbd29db29a7319c2ae608c08d07f7b9525bea01a5e20dbd73222100204d3a13500db4f56676446a1 + languageName: node + linkType: hard + +"@nestjs/passport@npm:^10.0.0": + version: 10.0.3 + resolution: "@nestjs/passport@npm:10.0.3" + peerDependencies: + "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + passport: ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 + checksum: 10c0/9e8a6103407852951625e75d0abd82a0f9786d4f27fc7036731ccbac39cbdb4e597a7313e53a266bb1fe1ec36c5193365abeb3264f5d285ba0aaeb23ee8e3f1b + languageName: node + linkType: hard + +"@nestjs/platform-express@npm:^10.2.10": + version: 10.3.7 + resolution: "@nestjs/platform-express@npm:10.3.7" + dependencies: + body-parser: "npm:1.20.2" + cors: "npm:2.8.5" + express: "npm:4.19.2" + multer: "npm:1.4.4-lts.1" + tslib: "npm:2.6.2" + peerDependencies: + "@nestjs/common": ^10.0.0 + "@nestjs/core": ^10.0.0 + checksum: 10c0/281ce6149bb9c7288dda3eabe6d3732d6874c9c47ad923a74022659ec765c1c76d1c05323d6f570faf6f976014b7bc8dabd328e4e86e0db9e4f0f1752c6df7d1 + languageName: node + linkType: hard + +"@nestjs/platform-socket.io@npm:^10.2.10": + version: 10.3.7 + resolution: "@nestjs/platform-socket.io@npm:10.3.7" + dependencies: + socket.io: "npm:4.7.5" + tslib: "npm:2.6.2" + peerDependencies: + "@nestjs/common": ^10.0.0 + "@nestjs/websockets": ^10.0.0 + rxjs: ^7.1.0 + checksum: 10c0/18ed32a9c1e453c965dad030b044ff9491f34eb60ab66d67d5db6660b5bf347b67587b86e2587861acee8ef08cdc914cc9b9db0a7ed61562edaf68b6cf31cddd + languageName: node + linkType: hard + +"@nestjs/schedule@npm:^3.0.1": + version: 3.0.4 + resolution: "@nestjs/schedule@npm:3.0.4" + dependencies: + cron: "npm:2.4.3" + uuid: "npm:9.0.1" + peerDependencies: + "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + "@nestjs/core": ^8.0.0 || ^9.0.0 || ^10.0.0 + reflect-metadata: ^0.1.12 + checksum: 10c0/10af832f611139b586bd85714da1697276ddf51513c91cb20c82eb481c9b1741ec85560f7c55d6e560c8ab7f4665f95cb9fd77241a84f2b432b03e2819ba0f86 + languageName: node + linkType: hard + +"@nestjs/schematics@npm:^10.0.1, @nestjs/schematics@npm:^10.1.1": + version: 10.1.1 + resolution: "@nestjs/schematics@npm:10.1.1" + dependencies: + "@angular-devkit/core": "npm:17.1.2" + "@angular-devkit/schematics": "npm:17.1.2" + comment-json: "npm:4.2.3" + jsonc-parser: "npm:3.2.1" + pluralize: "npm:8.0.0" + peerDependencies: + typescript: ">=4.8.2" + checksum: 10c0/fa264dc1a4366876b47badbc895ee234ccc6de112484aa5ba45a0a03e67f429f73036d4e9108bb21ad1c30fe30652cbe9cc773c00b3a092c5f2a1499895241ca + languageName: node + linkType: hard + +"@nestjs/serve-static@npm:^4.0.0": + version: 4.0.2 + resolution: "@nestjs/serve-static@npm:4.0.2" + dependencies: + path-to-regexp: "npm:0.2.5" + peerDependencies: + "@fastify/static": ^6.5.0 || ^7.0.0 + "@nestjs/common": ^9.0.0 || ^10.0.0 + "@nestjs/core": ^9.0.0 || ^10.0.0 + express: ^4.18.1 + fastify: ^4.7.0 + peerDependenciesMeta: + "@fastify/static": + optional: true + express: + optional: true + fastify: + optional: true + checksum: 10c0/e8dcf277a35a9ac3a82379ff14b8db0df9bd033f95f254d87d0a4cad9ed5bff6c6b8d9366295e38465d1f06679f5c3cca5efbf94ff52b936d26bde238199ab89 + languageName: node + linkType: hard + +"@nestjs/swagger@npm:^7.1.17": + version: 7.3.1 + resolution: "@nestjs/swagger@npm:7.3.1" + dependencies: + "@microsoft/tsdoc": "npm:^0.14.2" + "@nestjs/mapped-types": "npm:2.0.5" + js-yaml: "npm:4.1.0" + lodash: "npm:4.17.21" + path-to-regexp: "npm:3.2.0" + swagger-ui-dist: "npm:5.11.2" + peerDependencies: + "@fastify/static": ^6.0.0 || ^7.0.0 + "@nestjs/common": ^9.0.0 || ^10.0.0 + "@nestjs/core": ^9.0.0 || ^10.0.0 + class-transformer: "*" + class-validator: "*" + reflect-metadata: ^0.1.12 || ^0.2.0 + peerDependenciesMeta: + "@fastify/static": + optional: true + class-transformer: + optional: true + class-validator: + optional: true + checksum: 10c0/8e7bbbba55c7d09a44acb54acd6cdee4b4b90f1ebb52835f6cff285204093133bd7f55afdc4825dbae8ef10dbc8e57cde2ccf303a2194fc08e8803e7667d2ae7 + languageName: node + linkType: hard + +"@nestjs/terminus@npm:^10.0.1": + version: 10.2.3 + resolution: "@nestjs/terminus@npm:10.2.3" + dependencies: + boxen: "npm:5.1.2" + check-disk-space: "npm:3.4.0" + peerDependencies: + "@grpc/grpc-js": "*" + "@grpc/proto-loader": "*" + "@mikro-orm/core": "*" + "@mikro-orm/nestjs": "*" + "@nestjs/axios": ^1.0.0 || ^2.0.0 || ^3.0.0 + "@nestjs/common": ^9.0.0 || ^10.0.0 + "@nestjs/core": ^9.0.0 || ^10.0.0 + "@nestjs/microservices": ^9.0.0 || ^10.0.0 + "@nestjs/mongoose": ^9.0.0 || ^10.0.0 + "@nestjs/sequelize": ^9.0.0 || ^10.0.0 + "@nestjs/typeorm": ^9.0.0 || ^10.0.0 + "@prisma/client": "*" + mongoose: "*" + reflect-metadata: 0.1.x || 0.2.x + rxjs: 7.x + sequelize: "*" + typeorm: "*" + peerDependenciesMeta: + "@grpc/grpc-js": + optional: true + "@grpc/proto-loader": + optional: true + "@mikro-orm/core": + optional: true + "@mikro-orm/nestjs": + optional: true + "@nestjs/axios": + optional: true + "@nestjs/microservices": + optional: true + "@nestjs/mongoose": + optional: true + "@nestjs/sequelize": + optional: true + "@nestjs/typeorm": + optional: true + "@prisma/client": + optional: true + mongoose: + optional: true + sequelize: + optional: true + typeorm: + optional: true + checksum: 10c0/94fd425990249297177aca573704737b89b162a6df342cf73bd2a248bf4a3cb705eb53b0d1a94c21345c37d67be57295bf2e3d9c834047424ba67c372ff11fa8 + languageName: node + linkType: hard + +"@nestjs/testing@npm:^10.3.3": + version: 10.3.7 + resolution: "@nestjs/testing@npm:10.3.7" + dependencies: + tslib: "npm:2.6.2" + peerDependencies: + "@nestjs/common": ^10.0.0 + "@nestjs/core": ^10.0.0 + "@nestjs/microservices": ^10.0.0 + "@nestjs/platform-express": ^10.0.0 + peerDependenciesMeta: + "@nestjs/microservices": + optional: true + "@nestjs/platform-express": + optional: true + checksum: 10c0/1599e457dd43666903ae367c7941e3b6821006f895dca422ccf9411a9e8bf6280fcd99fbd7bdd887efbb616d85bf49b8baf84a1ef35d761ce6f16cbf31fd607b + languageName: node + linkType: hard + +"@nestjs/throttler@npm:^5.1.2": + version: 5.1.2 + resolution: "@nestjs/throttler@npm:5.1.2" + peerDependencies: + "@nestjs/common": ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 + "@nestjs/core": ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 + reflect-metadata: ^0.1.13 || ^0.2.0 + checksum: 10c0/73b3566e02c432d045ff53dc183d9f7c3824a7871eabfd55b313ad7540e27fd460d4a0cdfed33cd077345af8404cc6530b110fa41442b1f49d1ce7472b952c4b + languageName: node + linkType: hard + +"@nestjs/typeorm@npm:^10.0.1": + version: 10.0.2 + resolution: "@nestjs/typeorm@npm:10.0.2" + dependencies: + uuid: "npm:9.0.1" + peerDependencies: + "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + "@nestjs/core": ^8.0.0 || ^9.0.0 || ^10.0.0 + reflect-metadata: ^0.1.13 || ^0.2.0 + rxjs: ^7.2.0 + typeorm: ^0.3.0 + checksum: 10c0/0c5a59273cab43c5b7e4da189e6b9792b64309b32a09c7dbd4bcd6bf2e6ac58faeb3ae40067d3fe987ca857841031bf91c90416ae6824e3525e3e990eb5cf852 + languageName: node + linkType: hard + +"@nestjs/websockets@npm:^10.2.10": + version: 10.3.7 + resolution: "@nestjs/websockets@npm:10.3.7" + dependencies: + iterare: "npm:1.2.1" + object-hash: "npm:3.0.0" + tslib: "npm:2.6.2" + peerDependencies: + "@nestjs/common": ^10.0.0 + "@nestjs/core": ^10.0.0 + "@nestjs/platform-socket.io": ^10.0.0 + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + "@nestjs/platform-socket.io": + optional: true + checksum: 10c0/5243cc81c994c39b51a35bdf5f7c14f02cdc6ee4ff0a8423474936c82862ee4fec69b46931baeb38324b993611d574eb117d4d7114eecb3fd6abc82930a8b782 + languageName: node + linkType: hard + +"@noble/curves@npm:^1.2.0": + version: 1.4.0 + resolution: "@noble/curves@npm:1.4.0" + dependencies: + "@noble/hashes": "npm:1.4.0" + checksum: 10c0/31fbc370df91bcc5a920ca3f2ce69c8cf26dc94775a36124ed8a5a3faf0453badafd2ee4337061ffea1b43c623a90ee8b286a5a81604aaf9563bdad7ff795d18 + languageName: node + linkType: hard + +"@noble/hashes@npm:1.4.0, @noble/hashes@npm:^1.3.2": + version: 1.4.0 + resolution: "@noble/hashes@npm:1.4.0" + checksum: 10c0/8c3f005ee72e7b8f9cff756dfae1241485187254e3f743873e22073d63906863df5d4f13d441b7530ea614b7a093f0d889309f28b59850f33b66cb26a779a4a5 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@nuxtjs/opencollective@npm:0.3.2": + version: 0.3.2 + resolution: "@nuxtjs/opencollective@npm:0.3.2" + dependencies: + chalk: "npm:^4.1.0" + consola: "npm:^2.15.0" + node-fetch: "npm:^2.6.1" + bin: + opencollective: bin/opencollective.js + checksum: 10c0/540268687af3289ff107585484d42201b404cdbb98b3a512487c12a6b180a8f0e1df0d701df47d3d9e0d5c0f6eb3252d80535562aedca9edf52cf7fd17ae4601 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 + languageName: node + linkType: hard + +"@socket.io/component-emitter@npm:~3.1.0": + version: 3.1.0 + resolution: "@socket.io/component-emitter@npm:3.1.0" + checksum: 10c0/b838ccccf74c36fa7d3ed89a7efb5858cba1a84db4d08250c2fc44d8235140f10d31875bde71517d8503cb3fb08fcd34d3b7a3d0d89058ca3f74f7c816f0fb9c + languageName: node + linkType: hard + +"@sqltools/formatter@npm:^1.2.5": + version: 1.2.5 + resolution: "@sqltools/formatter@npm:1.2.5" + checksum: 10c0/4b4fa62b8cd4880784b71cc5edd4a13da04fda0a915c14282765a8ec1a900a495e69b322704413e2052d221b5646d9fb0e20e87911f9a8f438f33180eecb11a4 + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node10@npm:1.0.11" + checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node12@npm:1.0.11" + checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.3 + resolution: "@tsconfig/node14@npm:1.0.3" + checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.4 + resolution: "@tsconfig/node16@npm:1.0.4" + checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.14": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.8 + resolution: "@types/babel__generator@npm:7.6.8" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/f0ba105e7d2296bf367d6e055bb22996886c114261e2cb70bf9359556d0076c7a57239d019dee42bb063f565bade5ccb46009bce2044b2952d964bf9a454d6d2 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.20.5 + resolution: "@types/babel__traverse@npm:7.20.5" + dependencies: + "@babel/types": "npm:^7.20.7" + checksum: 10c0/033abcb2f4c084ad33e30c3efaad82161240f351e3c71b6154ed289946b33b363696c0fbd42502b68e4582a87413c418321f40eb1ea863e34fe525641345e05b + languageName: node + linkType: hard + +"@types/bcrypt@npm:^5.0.2": + version: 5.0.2 + resolution: "@types/bcrypt@npm:5.0.2" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/dd7f05e183b9b1fc08ec499069febf197ab8e9c720766b5bbb5628395082e248f9a444c60882fe7788361fcadc302e21e055ab9c26a300f100e08791c353e6aa + languageName: node + linkType: hard + +"@types/body-parser@npm:*": + version: 1.19.5 + resolution: "@types/body-parser@npm:1.19.5" + dependencies: + "@types/connect": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df + languageName: node + linkType: hard + +"@types/connect@npm:*": + version: 3.4.38 + resolution: "@types/connect@npm:3.4.38" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + languageName: node + linkType: hard + +"@types/cookie-parser@npm:^1.4.3": + version: 1.4.7 + resolution: "@types/cookie-parser@npm:1.4.7" + dependencies: + "@types/express": "npm:*" + checksum: 10c0/af37fea5399950e59ceb2e1f25c633f3df360c4f17e8b3f26418e672fe5c926a20993b86f8e1df72cfe2c4dc8967d9a18d3d78b5c6a5f751a297d0418e5690fa + languageName: node + linkType: hard + +"@types/cookie@npm:^0.4.1": + version: 0.4.1 + resolution: "@types/cookie@npm:0.4.1" + checksum: 10c0/f96afe12bd51be1ec61410b0641243d93fa3a494702407c787a4c872b5c8bcd39b224471452055e44a9ce42af1a636e87d161994226eaf4c2be9c30f60418409 + languageName: node + linkType: hard + +"@types/cookiejar@npm:^2.1.5": + version: 2.1.5 + resolution: "@types/cookiejar@npm:2.1.5" + checksum: 10c0/af38c3d84aebb3ccc6e46fb6afeeaac80fb26e63a487dd4db5a8b87e6ad3d4b845ba1116b2ae90d6f886290a36200fa433d8b1f6fe19c47da6b81872ce9a2764 + languageName: node + linkType: hard + +"@types/cors@npm:^2.8.12": + version: 2.8.17 + resolution: "@types/cors@npm:2.8.17" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/457364c28c89f3d9ed34800e1de5c6eaaf344d1bb39af122f013322a50bc606eb2aa6f63de4e41a7a08ba7ef454473926c94a830636723da45bf786df032696d + languageName: node + linkType: hard + +"@types/eslint-scope@npm:^3.7.3": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "npm:*" + "@types/estree": "npm:*" + checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc + languageName: node + linkType: hard + +"@types/eslint@npm:*": + version: 8.56.7 + resolution: "@types/eslint@npm:8.56.7" + dependencies: + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/159bb5ae2f78d905b9263240c75d07b60c26e1bcaecee8c775a7bb0cf7362f5dcdd286259ba6289ab62f989b87048090b2420619f7170a0abbd83cb68b5e0699 + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.5": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:^4.17.33": + version: 4.19.0 + resolution: "@types/express-serve-static-core@npm:4.19.0" + dependencies: + "@types/node": "npm:*" + "@types/qs": "npm:*" + "@types/range-parser": "npm:*" + "@types/send": "npm:*" + checksum: 10c0/38a13dfbb38d18526276e68dae1097eb0ebef296e76bff2a9bf6831c052c2f87797e910c87bd3f0dd1a1b4136241c9d7c841779a00b22576d12aa9b483a63349 + languageName: node + linkType: hard + +"@types/express-session@npm:^1.17.7": + version: 1.18.0 + resolution: "@types/express-session@npm:1.18.0" + dependencies: + "@types/express": "npm:*" + checksum: 10c0/a41a1fcc4a433c71e2a7ffbac82bc7fb5ad436757a9d27fd30ae4656dee137d244f04de9ad756b566be136cf82f6a75e9ca55ac6c260396e74d1931021b09621 + languageName: node + linkType: hard + +"@types/express@npm:*, @types/express@npm:^4.17.13": + version: 4.17.21 + resolution: "@types/express@npm:4.17.21" + dependencies: + "@types/body-parser": "npm:*" + "@types/express-serve-static-core": "npm:^4.17.33" + "@types/qs": "npm:*" + "@types/serve-static": "npm:*" + checksum: 10c0/12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.9 + resolution: "@types/graceful-fs@npm:4.1.9" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b + languageName: node + linkType: hard + +"@types/http-errors@npm:*": + version: 2.0.4 + resolution: "@types/http-errors@npm:2.0.4" + checksum: 10c0/494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" + dependencies: + "@types/istanbul-lib-coverage": "npm:*" + checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" + dependencies: + "@types/istanbul-lib-report": "npm:*" + checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee + languageName: node + linkType: hard + +"@types/jest@npm:^29.5.1": + version: 29.5.12 + resolution: "@types/jest@npm:29.5.12" + dependencies: + expect: "npm:^29.0.0" + pretty-format: "npm:^29.0.0" + checksum: 10c0/25fc8e4c611fa6c4421e631432e9f0a6865a8cb07c9815ec9ac90d630271cad773b2ee5fe08066f7b95bebd18bb967f8ce05d018ee9ab0430f9dfd1d84665b6f + languageName: node + linkType: hard + +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/jsonwebtoken@npm:*": + version: 9.0.6 + resolution: "@types/jsonwebtoken@npm:9.0.6" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/9c29e3896e5fb6056e54d87514643e59e0cfb966ae25171a107776270195bba955f0373e98c8ed6450c145b18984f5df9cf0fcac360f382cec3c7c4d3510b202 + languageName: node + linkType: hard + +"@types/jsonwebtoken@npm:9.0.5": + version: 9.0.5 + resolution: "@types/jsonwebtoken@npm:9.0.5" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/c582b8420586f3b9550f7e34992cb32be300bc953636f3b087ed9c180ce7ea5c2e4b35090be2d57f0d3168cc3ca1074932907caa2afe09f4e9c84cf5c0daefa8 + languageName: node + linkType: hard + +"@types/luxon@npm:~3.3.0": + version: 3.3.8 + resolution: "@types/luxon@npm:3.3.8" + checksum: 10c0/f2ffa31364eb94ca0474a196f533d301025a203bb2758ce0cf209f338cece0af169edea230b5c0b1a68a71adb02f369faa5ec0bd824deb8f0a08cac6803b1b06 + languageName: node + linkType: hard + +"@types/methods@npm:^1.1.4": + version: 1.1.4 + resolution: "@types/methods@npm:1.1.4" + checksum: 10c0/a78534d79c300718298bfff92facd07bf38429c66191f640c1db4c9cff1e36f819304298a96f7536b6512bfc398e5c3e6b831405e138cd774b88ad7be78d682a + languageName: node + linkType: hard + +"@types/mime@npm:^1": + version: 1.3.5 + resolution: "@types/mime@npm:1.3.5" + checksum: 10c0/c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:^18.16.12": + version: 18.19.31 + resolution: "@types/node@npm:18.19.31" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/bfebae8389220c0188492c82eaf328f4ba15e6e9b4abee33d6bf36d3b13f188c2f53eb695d427feb882fff09834f467405e2ed9be6aeb6ad4705509822d2ea08 + languageName: node + linkType: hard + +"@types/node@npm:>=10.0.0": + version: 20.12.6 + resolution: "@types/node@npm:20.12.6" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/48ce732162cd6c02656aa5f996f0e695b57fdeb1ae762fbaa966afac2dcdcf52cb56be5ce1efb4babf8f97c2de545889aebc7f43c2e86f033487245c41fa1e6b + languageName: node + linkType: hard + +"@types/passport-jwt@npm:^3.0.10": + version: 3.0.13 + resolution: "@types/passport-jwt@npm:3.0.13" + dependencies: + "@types/express": "npm:*" + "@types/jsonwebtoken": "npm:*" + "@types/passport-strategy": "npm:*" + checksum: 10c0/39aeafa92d869f38f17994dd02f8124d88dc6977b0fee56d8ef4c6d4ff86378456a4904644a83dabc8d3fd69c23d0503c8af14ee51a7ced5d54c3c0115c1422c + languageName: node + linkType: hard + +"@types/passport-strategy@npm:*": + version: 0.2.38 + resolution: "@types/passport-strategy@npm:0.2.38" + dependencies: + "@types/express": "npm:*" + "@types/passport": "npm:*" + checksum: 10c0/d7d2b1782a0845bd8914250aa9213a23c8d9c2225db46d854b77f2bf0129a789f46d4a5e9ad336eca277fc7e0a051c0a2942da5c864e7c6710763f102d9d4295 + languageName: node + linkType: hard + +"@types/passport@npm:*": + version: 1.0.16 + resolution: "@types/passport@npm:1.0.16" + dependencies: + "@types/express": "npm:*" + checksum: 10c0/7120c1186c8c67e3818683b5b6a4439d102f67da93cc1c7d8f32484f7bf10e8438dd5de0bf571910b23d06caa43dd1ad501933b48618bfaf54e63219500993fe + languageName: node + linkType: hard + +"@types/qs@npm:*, @types/qs@npm:^6.9.10": + version: 6.9.14 + resolution: "@types/qs@npm:6.9.14" + checksum: 10c0/11ad1eb7f6d7c216002789959d88acc7c43f72854fa4335f01de0df41b4c4024668dace8a37ba12270314345ede0ec6b07f93053a45e7bd4cd7318a3dcf0b6b8 + languageName: node + linkType: hard + +"@types/range-parser@npm:*": + version: 1.2.7 + resolution: "@types/range-parser@npm:1.2.7" + checksum: 10c0/361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c + languageName: node + linkType: hard + +"@types/semver@npm:^7.5.8": + version: 7.5.8 + resolution: "@types/semver@npm:7.5.8" + checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa + languageName: node + linkType: hard + +"@types/send@npm:*": + version: 0.17.4 + resolution: "@types/send@npm:0.17.4" + dependencies: + "@types/mime": "npm:^1" + "@types/node": "npm:*" + checksum: 10c0/7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c + languageName: node + linkType: hard + +"@types/serve-static@npm:*": + version: 1.15.7 + resolution: "@types/serve-static@npm:1.15.7" + dependencies: + "@types/http-errors": "npm:*" + "@types/node": "npm:*" + "@types/send": "npm:*" + checksum: 10c0/26ec864d3a626ea627f8b09c122b623499d2221bbf2f470127f4c9ebfe92bd8a6bb5157001372d4c4bd0dd37a1691620217d9dc4df5aa8f779f3fd996b1c60ae + languageName: node + linkType: hard + +"@types/stack-utils@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/stack-utils@npm:2.0.3" + checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c + languageName: node + linkType: hard + +"@types/superagent@npm:*": + version: 8.1.6 + resolution: "@types/superagent@npm:8.1.6" + dependencies: + "@types/cookiejar": "npm:^2.1.5" + "@types/methods": "npm:^1.1.4" + "@types/node": "npm:*" + checksum: 10c0/c954caea1e94636f502af4a4c693be99a92453519bb8f76a61e8798deaca06cd320097d594d983c419f51c279e36a10ae898f67ea544431011a863fa06df5818 + languageName: node + linkType: hard + +"@types/supertest@npm:^2.0.15": + version: 2.0.16 + resolution: "@types/supertest@npm:2.0.16" + dependencies: + "@types/superagent": "npm:*" + checksum: 10c0/e1b4a4d788c19cd92a3f2e6d0979fb0f679c49aefae2011895a4d9c35aa960d43463aca8783a0b3382bbf0b4eb7ceaf8752d7dc80b8f5a9644fa14e1b1bdbc90 + languageName: node + linkType: hard + +"@types/triple-beam@npm:^1.3.2": + version: 1.3.5 + resolution: "@types/triple-beam@npm:1.3.5" + checksum: 10c0/d5d7f25da612f6d79266f4f1bb9c1ef8f1684e9f60abab251e1261170631062b656ba26ff22631f2760caeafd372abc41e64867cde27fba54fafb73a35b9056a + languageName: node + linkType: hard + +"@types/validator@npm:^13.11.8": + version: 13.12.2 + resolution: "@types/validator@npm:13.12.2" + checksum: 10c0/64f1326c768947d756ab5bcd73f3f11a6f07dc76292aea83890d0390a9b9acb374f8df6b24af2c783271f276d3d613b78fc79491fe87edee62108d54be2e3c31 + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 21.0.3 + resolution: "@types/yargs-parser@npm:21.0.3" + checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.32 + resolution: "@types/yargs@npm:17.0.32" + dependencies: + "@types/yargs-parser": "npm:*" + checksum: 10c0/2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf + languageName: node + linkType: hard + +"@types/zxcvbn@npm:^4.4.1": + version: 4.4.4 + resolution: "@types/zxcvbn@npm:4.4.4" + checksum: 10c0/ad5319aa00782fb14cb9bb3c21f12f09c6e90c5a7b234dcc0a5f54c9b9d35110f3cb511ba821d97e02733a821fe7961dd78d78e2d6513a4f8c28a6d5973af1e4 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^7.1.0": + version: 7.6.0 + resolution: "@typescript-eslint/eslint-plugin@npm:7.6.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:7.6.0" + "@typescript-eslint/type-utils": "npm:7.6.0" + "@typescript-eslint/utils": "npm:7.6.0" + "@typescript-eslint/visitor-keys": "npm:7.6.0" + debug: "npm:^4.3.4" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/c3ca611c6658dfc05e6457e87c66cdc6f038cf9bbb345f3168d171491bc1439f815a49529a1511940141a387873e10dfc7ab68fd172cf54c34f8a3aa8c558e13 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^7.1.0": + version: 7.6.0 + resolution: "@typescript-eslint/parser@npm:7.6.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:7.6.0" + "@typescript-eslint/types": "npm:7.6.0" + "@typescript-eslint/typescript-estree": "npm:7.6.0" + "@typescript-eslint/visitor-keys": "npm:7.6.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/69450c15180f7ee5a9d9c2e8ed7aa781a3b63635c099de1f102167c247d71c55b152934187e854baa5c9ea3dcbc0c9f5983379139e6cfa1ccbb900b9f23dab37 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:7.6.0": + version: 7.6.0 + resolution: "@typescript-eslint/scope-manager@npm:7.6.0" + dependencies: + "@typescript-eslint/types": "npm:7.6.0" + "@typescript-eslint/visitor-keys": "npm:7.6.0" + checksum: 10c0/1c1e75fd4fa2dabcab0457ca2ec872752c112fec27bf11edb5bf13c547ad5f3ca5a3b424e19c6916dfc8bd348cde258db8abfd12c9ed93b4bc4df9ef9e3db9f5 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:7.6.0": + version: 7.6.0 + resolution: "@typescript-eslint/type-utils@npm:7.6.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:7.6.0" + "@typescript-eslint/utils": "npm:7.6.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/d5fa5856e24b593e8ae93f27049e7ea49c0725f9fe44e6252a8fc8228859e2db254a3c399bedaf1fdac76fae94aa9bae10a9d466032c7bdb5bdeb1da2e4e3a53 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:7.6.0": + version: 7.6.0 + resolution: "@typescript-eslint/types@npm:7.6.0" + checksum: 10c0/7ca2a307557d4d8fc9c7d43e4dc8c4841e6c5380b59dcc8b644b3d7b6a702968ff5a70b74cb7e3d3af3f3cef87e9775573b8272b1b2963d80441992ac4e7e951 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:7.6.0": + version: 7.6.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.6.0" + dependencies: + "@typescript-eslint/types": "npm:7.6.0" + "@typescript-eslint/visitor-keys": "npm:7.6.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/ab54ce7a61928640bf036cc1d80394de92581d90666786603b566b9a44833603e017d7e739a37aee82a007c6d1dbdc6328d7e42d1732925cc53c111e7e38961e + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:7.6.0": + version: 7.6.0 + resolution: "@typescript-eslint/utils@npm:7.6.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@types/json-schema": "npm:^7.0.15" + "@types/semver": "npm:^7.5.8" + "@typescript-eslint/scope-manager": "npm:7.6.0" + "@typescript-eslint/types": "npm:7.6.0" + "@typescript-eslint/typescript-estree": "npm:7.6.0" + semver: "npm:^7.6.0" + peerDependencies: + eslint: ^8.56.0 + checksum: 10c0/1552004d9c451347f11398648ec7b22381d5b335f10e8d2dfdfbcb024ef93c9a23ec5731ee271495b4b546ab5db0a817bd13c4c4db8be825ed90b80a89dfd0f7 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:7.6.0": + version: 7.6.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.6.0" + dependencies: + "@typescript-eslint/types": "npm:7.6.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/b5ca6a9258889ef103165884e99b51124b2a3dad250cf7cee2fb13525f76922256a6146a8dcef74cad6548a52409ff89259809c7fa7c8be07059bb7454e7fa8f + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + languageName: node + linkType: hard + +"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.11.5": + version: 1.12.1 + resolution: "@webassemblyjs/ast@npm:1.12.1" + dependencies: + "@webassemblyjs/helper-numbers": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + checksum: 10c0/ba7f2b96c6e67e249df6156d02c69eb5f1bd18d5005303cdc42accb053bebbbde673826e54db0437c9748e97abd218366a1d13fa46859b23cde611b6b409998c + languageName: node + linkType: hard + +"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" + checksum: 10c0/37fe26f89e18e4ca0e7d89cfe3b9f17cfa327d7daf906ae01400416dbb2e33c8a125b4dc55ad7ff405e5fcfb6cf0d764074c9bc532b9a31a71e762be57d2ea0a + languageName: node + linkType: hard + +"@webassemblyjs/helper-api-error@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" + checksum: 10c0/a681ed51863e4ff18cf38d223429f414894e5f7496856854d9a886eeddcee32d7c9f66290f2919c9bb6d2fc2b2fae3f989b6a1e02a81e829359738ea0c4d371a + languageName: node + linkType: hard + +"@webassemblyjs/helper-buffer@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" + checksum: 10c0/0270724afb4601237410f7fd845ab58ccda1d5456a8783aadfb16eaaf3f2c9610c28e4a5bcb6ad880cde5183c82f7f116d5ccfc2310502439d33f14b6888b48a + languageName: node + linkType: hard + +"@webassemblyjs/helper-numbers@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" + dependencies: + "@webassemblyjs/floating-point-hex-parser": "npm:1.11.6" + "@webassemblyjs/helper-api-error": "npm:1.11.6" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/c7d5afc0ff3bd748339b466d8d2f27b908208bf3ff26b2e8e72c39814479d486e0dca6f3d4d776fd9027c1efe05b5c0716c57a23041eb34473892b2731c33af3 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" + checksum: 10c0/79d2bebdd11383d142745efa32781249745213af8e022651847382685ca76709f83e1d97adc5f0d3c2b8546bf02864f8b43a531fdf5ca0748cb9e4e0ef2acaa5 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-section@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-buffer": "npm:1.12.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/wasm-gen": "npm:1.12.1" + checksum: 10c0/0546350724d285ae3c26e6fc444be4c3b5fb824f3be0ec8ceb474179dc3f4430336dd2e36a44b3e3a1a6815960e5eec98cd9b3a8ec66dc53d86daedd3296a6a2 + languageName: node + linkType: hard + +"@webassemblyjs/ieee754@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/ieee754@npm:1.11.6" + dependencies: + "@xtuc/ieee754": "npm:^1.2.0" + checksum: 10c0/59de0365da450322c958deadade5ec2d300c70f75e17ae55de3c9ce564deff5b429e757d107c7ec69bd0ba169c6b6cc2ff66293ab7264a7053c829b50ffa732f + languageName: node + linkType: hard + +"@webassemblyjs/leb128@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/leb128@npm:1.11.6" + dependencies: + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/cb344fc04f1968209804de4da018679c5d4708a03b472a33e0fa75657bb024978f570d3ccf9263b7f341f77ecaa75d0e051b9cd4b7bb17a339032cfd1c37f96e + languageName: node + linkType: hard + +"@webassemblyjs/utf8@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/utf8@npm:1.11.6" + checksum: 10c0/14d6c24751a89ad9d801180b0d770f30a853c39f035a15fbc96266d6ac46355227abd27a3fd2eeaa97b4294ced2440a6b012750ae17bafe1a7633029a87b6bee + languageName: node + linkType: hard + +"@webassemblyjs/wasm-edit@npm:^1.11.5": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-buffer": "npm:1.12.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/helper-wasm-section": "npm:1.12.1" + "@webassemblyjs/wasm-gen": "npm:1.12.1" + "@webassemblyjs/wasm-opt": "npm:1.12.1" + "@webassemblyjs/wasm-parser": "npm:1.12.1" + "@webassemblyjs/wast-printer": "npm:1.12.1" + checksum: 10c0/972f5e6c522890743999e0ed45260aae728098801c6128856b310dd21f1ee63435fc7b518e30e0ba1cdafd0d1e38275829c1e4451c3536a1d9e726e07a5bba0b + languageName: node + linkType: hard + +"@webassemblyjs/wasm-gen@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/ieee754": "npm:1.11.6" + "@webassemblyjs/leb128": "npm:1.11.6" + "@webassemblyjs/utf8": "npm:1.11.6" + checksum: 10c0/1e257288177af9fa34c69cab94f4d9036ebed611f77f3897c988874e75182eeeec759c79b89a7a49dd24624fc2d3d48d5580b62b67c4a1c9bfbdcd266b281c16 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-buffer": "npm:1.12.1" + "@webassemblyjs/wasm-gen": "npm:1.12.1" + "@webassemblyjs/wasm-parser": "npm:1.12.1" + checksum: 10c0/992a45e1f1871033c36987459436ab4e6430642ca49328e6e32a13de9106fe69ae6c0ac27d7050efd76851e502d11cd1ac0e06b55655dfa889ad82f11a2712fb + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.11.5": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-api-error": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/ieee754": "npm:1.11.6" + "@webassemblyjs/leb128": "npm:1.11.6" + "@webassemblyjs/utf8": "npm:1.11.6" + checksum: 10c0/e85cec1acad07e5eb65b92d37c8e6ca09c6ca50d7ca58803a1532b452c7321050a0328c49810c337cc2dfd100c5326a54d5ebd1aa5c339ebe6ef10c250323a0e + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wast-printer@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/39bf746eb7a79aa69953f194943bbc43bebae98bd7cadd4d8bc8c0df470ca6bf9d2b789effaa180e900fab4e2691983c1f7d41571458bd2a26267f2f0c73705a + languageName: node + linkType: hard + +"@xtuc/ieee754@npm:^1.2.0": + version: 1.2.0 + resolution: "@xtuc/ieee754@npm:1.2.0" + checksum: 10c0/a8565d29d135039bd99ae4b2220d3e167d22cf53f867e491ed479b3f84f895742d0097f935b19aab90265a23d5d46711e4204f14c479ae3637fbf06c4666882f + languageName: node + linkType: hard + +"@xtuc/long@npm:4.2.2": + version: 4.2.2 + resolution: "@xtuc/long@npm:4.2.2" + checksum: 10c0/8582cbc69c79ad2d31568c412129bf23d2b1210a1dfb60c82d5a1df93334da4ee51f3057051658569e2c196d8dc33bc05ae6b974a711d0d16e801e1d0647ccd1 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf + languageName: node + linkType: hard + +"accepts@npm:~1.3.4, accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 + languageName: node + linkType: hard + +"acorn-import-assertions@npm:^1.9.0": + version: 1.9.0 + resolution: "acorn-import-assertions@npm:1.9.0" + peerDependencies: + acorn: ^8 + checksum: 10c0/3b4a194e128efdc9b86c2b1544f623aba4c1aa70d638f8ab7dc3971a5b4aa4c57bd62f99af6e5325bb5973c55863b4112e708a6f408bad7a138647ca72283afe + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1": + version: 8.3.2 + resolution: "acorn-walk@npm:8.3.2" + checksum: 10c0/7e2a8dad5480df7f872569b9dccff2f3da7e65f5353686b1d6032ab9f4ddf6e3a2cb83a9b52cf50b1497fd522154dda92f0abf7153290cc79cd14721ff121e52 + languageName: node + linkType: hard + +"acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": + version: 8.11.3 + resolution: "acorn@npm:8.11.3" + bin: + acorn: bin/acorn + checksum: 10c0/3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 + languageName: node + linkType: hard + +"aes-js@npm:3.0.0": + version: 3.0.0 + resolution: "aes-js@npm:3.0.0" + checksum: 10c0/87dd5b2363534b867db7cef8bc85a90c355460783744877b2db7c8be09740aac5750714f9e00902822f692662bda74cdf40e03fbb5214ffec75c2666666288b8 + languageName: node + linkType: hard + +"agent-base@npm:6": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard + +"ajv-formats@npm:2.1.1": + version: 2.1.1 + resolution: "ajv-formats@npm:2.1.1" + dependencies: + ajv: "npm:^8.0.0" + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 + languageName: node + linkType: hard + +"ajv-keywords@npm:^3.5.2": + version: 3.5.2 + resolution: "ajv-keywords@npm:3.5.2" + peerDependencies: + ajv: ^6.9.1 + checksum: 10c0/0c57a47cbd656e8cdfd99d7c2264de5868918ffa207c8d7a72a7f63379d4333254b2ba03d69e3c035e996a3fd3eb6d5725d7a1597cca10694296e32510546360 + languageName: node + linkType: hard + +"ajv@npm:8.12.0, ajv@npm:^8.0.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.2.2" + checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e + languageName: node + linkType: hard + +"ajv@npm:^6.12.4, ajv@npm:^6.12.5": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ansi-align@npm:^3.0.0": + version: 3.0.1 + resolution: "ansi-align@npm:3.0.1" + dependencies: + string-width: "npm:^4.1.0" + checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 + languageName: node + linkType: hard + +"ansi-colors@npm:4.1.3": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"app-root-path@npm:^3.1.0": + version: 3.1.0 + resolution: "app-root-path@npm:3.1.0" + checksum: 10c0/4a0fd976de1bffcdb18a5e1f8050091f15d0780e0582bca99aaa9d52de71f0e08e5185355fcffc781180bfb898499e787a2f5ed79b9c448b942b31dc947acaa9 + languageName: node + linkType: hard + +"append-field@npm:^1.0.0": + version: 1.0.0 + resolution: "append-field@npm:1.0.0" + checksum: 10c0/1b5abcc227e5179936a9e4f7e2af4769fa1f00eda85bbaed907f7964b0fd1f7d61f0f332b35337f391389ff13dd5310c2546ba670f8e5a743b23ec85185c73ef + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 10c0/d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^2.0.0": + version: 2.0.0 + resolution: "are-we-there-yet@npm:2.0.0" + dependencies: + delegates: "npm:^1.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/375f753c10329153c8d66dc95e8f8b6c7cc2aa66e05cb0960bd69092b10dae22900cacc7d653ad11d26b3ecbdbfe1e8bfb6ccf0265ba8077a7d979970f16b99c + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 + languageName: node + linkType: hard + +"array-timsort@npm:^1.0.3": + version: 1.0.3 + resolution: "array-timsort@npm:1.0.3" + checksum: 10c0/bd3a1707b621947265c89867e67c9102b9b9f4c50f5b3974220112290d8b60d26ce60595edec5deed3325207b759d70b758bed3cd310b5ddadb835657ffb6d12 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"asap@npm:^2.0.0": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d + languageName: node + linkType: hard + +"async@npm:3.2.3": + version: 3.2.3 + resolution: "async@npm:3.2.3" + checksum: 10c0/109780c846f05109dde14412d916ae4ed6daf6f9aad0c4aa1dcf0d4da775a3a9e35e0e06e4e06ad9fed66f99ca15549da16f2f243c56103b346e9d3bcd9c943f + languageName: node + linkType: hard + +"async@npm:^3.2.3": + version: 3.2.5 + resolution: "async@npm:3.2.5" + checksum: 10c0/1408287b26c6db67d45cb346e34892cee555b8b59e6c68e6f8c3e495cad5ca13b4f218180e871f3c2ca30df4ab52693b66f2f6ff43644760cab0b2198bda79c1 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"axios-retry@npm:3.4.0": + version: 3.4.0 + resolution: "axios-retry@npm:3.4.0" + dependencies: + "@babel/runtime": "npm:^7.15.4" + is-retry-allowed: "npm:^2.2.0" + checksum: 10c0/e7b0a59f9128947627fa6393bd120c5c3ff0085681eed5e6e31671b1625cc4d98894f9f5af1499a2d1279f1958a63360eab4088615b7790bf8f643edbff5b6a7 + languageName: node + linkType: hard + +"axios@npm:1.6.2": + version: 1.6.2 + resolution: "axios@npm:1.6.2" + dependencies: + follow-redirects: "npm:^1.15.0" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/9b77e030e85e4f9cbcba7bb52fbff67d6ce906c92d213e0bd932346a50140faf83733bf786f55bd58301bd92f9973885c7b87d6348023e10f7eaf286d0791a1d + languageName: node + linkType: hard + +"axios@npm:^1.6.7": + version: 1.6.8 + resolution: "axios@npm:1.6.8" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/0f22da6f490335479a89878bc7d5a1419484fbb437b564a80c34888fc36759ae4f56ea28d55a191695e5ed327f0bad56e7ff60fb6770c14d1be6501505d47ab9 + languageName: node + linkType: hard + +"babel-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "babel-jest@npm:29.7.0" + dependencies: + "@jest/transform": "npm:^29.7.0" + "@types/babel__core": "npm:^7.1.14" + babel-plugin-istanbul: "npm:^6.1.1" + babel-preset-jest: "npm:^29.6.3" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + slash: "npm:^3.0.0" + peerDependencies: + "@babel/core": ^7.8.0 + checksum: 10c0/2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@istanbuljs/load-nyc-config": "npm:^1.0.0" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-instrument: "npm:^5.0.4" + test-exclude: "npm:^6.0.0" + checksum: 10c0/1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-plugin-jest-hoist@npm:29.6.3" + dependencies: + "@babel/template": "npm:^7.3.3" + "@babel/types": "npm:^7.3.3" + "@types/babel__core": "npm:^7.1.14" + "@types/babel__traverse": "npm:^7.0.6" + checksum: 10c0/7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.0.1 + resolution: "babel-preset-current-node-syntax@npm:1.0.1" + dependencies: + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-bigint": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.8.3" + "@babel/plugin-syntax-import-meta": "npm:^7.8.3" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-preset-jest@npm:29.6.3" + dependencies: + babel-plugin-jest-hoist: "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base-x@npm:^4.0.0": + version: 4.0.0 + resolution: "base-x@npm:4.0.0" + checksum: 10c0/0cb47c94535144ab138f70bb5aa7e6e03049ead88615316b62457f110fc204f2c3baff5c64a1c1b33aeb068d79a68092c08a765c7ccfa133eee1e70e4c6eb903 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"base64id@npm:2.0.0, base64id@npm:~2.0.0": + version: 2.0.0 + resolution: "base64id@npm:2.0.0" + checksum: 10c0/6919efd237ed44b9988cbfc33eca6f173a10e810ce50292b271a1a421aac7748ef232a64d1e6032b08f19aae48dce6ee8f66c5ae2c9e5066c82b884861d4d453 + languageName: node + linkType: hard + +"bcrypt@npm:^5.1.1": + version: 5.1.1 + resolution: "bcrypt@npm:5.1.1" + dependencies: + "@mapbox/node-pre-gyp": "npm:^1.0.11" + node-addon-api: "npm:^5.0.0" + checksum: 10c0/743231158c866bddc46f25eb8e9617fe38bc1a6f5f3052aba35e361d349b7f8fb80e96b45c48a4c23c45c29967ccd11c81cf31166454fc0ab019801c336cab40 + languageName: node + linkType: hard + +"bech32@npm:1.1.4": + version: 1.1.4 + resolution: "bech32@npm:1.1.4" + checksum: 10c0/5f62ca47b8df99ace9c0e0d8deb36a919d91bf40066700aaa9920a45f86bb10eb56d537d559416fd8703aa0fb60dddb642e58f049701e7291df678b2033e5ee5 + languageName: node + linkType: hard + +"bignumber.js@npm:^9.1.2": + version: 9.1.2 + resolution: "bignumber.js@npm:9.1.2" + checksum: 10c0/e17786545433f3110b868725c449fa9625366a6e675cd70eb39b60938d6adbd0158cb4b3ad4f306ce817165d37e63f4aa3098ba4110db1d9a3b9f66abfbaf10d + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"bl@npm:^4.1.0": + version: 4.1.0 + resolution: "bl@npm:4.1.0" + dependencies: + buffer: "npm:^5.5.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.4.0" + checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f + languageName: node + linkType: hard + +"bn.js@npm:^4.11.9": + version: 4.12.0 + resolution: "bn.js@npm:4.12.0" + checksum: 10c0/9736aaa317421b6b3ed038ff3d4491935a01419ac2d83ddcfebc5717385295fcfcf0c57311d90fe49926d0abbd7a9dbefdd8861e6129939177f7e67ebc645b21 + languageName: node + linkType: hard + +"bn.js@npm:^5.2.1": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa + languageName: node + linkType: hard + +"body-parser@npm:1.20.2": + version: 1.20.2 + resolution: "body-parser@npm:1.20.2" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.11.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10c0/06f1438fff388a2e2354c96aa3ea8147b79bfcb1262dfcc2aae68ec13723d01d5781680657b74e9f83c808266d5baf52804032fbde2b7382b89bd8cdb273ace9 + languageName: node + linkType: hard + +"boxen@npm:5.1.2": + version: 5.1.2 + resolution: "boxen@npm:5.1.2" + dependencies: + ansi-align: "npm:^3.0.0" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.1.0" + cli-boxes: "npm:^2.2.1" + string-width: "npm:^4.2.2" + type-fest: "npm:^0.20.2" + widest-line: "npm:^3.1.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/71f31c2eb3dcacd5fce524ae509e0cc90421752e0bfbd0281fd3352871d106c462a0f810c85f2fdb02f3a9fab2d7a84e9718b4999384d651b76104ebe5d2c024 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.2, braces@npm:~3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: "npm:^7.0.1" + checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 + languageName: node + linkType: hard + +"brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 + languageName: node + linkType: hard + +"browserslist@npm:^4.21.10, browserslist@npm:^4.22.2": + version: 4.23.0 + resolution: "browserslist@npm:4.23.0" + dependencies: + caniuse-lite: "npm:^1.0.30001587" + electron-to-chromium: "npm:^1.4.668" + node-releases: "npm:^2.0.14" + update-browserslist-db: "npm:^1.0.13" + bin: + browserslist: cli.js + checksum: 10c0/8e9cc154529062128d02a7af4d8adeead83ca1df8cd9ee65a88e2161039f3d68a4d40fea7353cab6bae4c16182dec2fdd9a1cf7dc2a2935498cee1af0e998943 + languageName: node + linkType: hard + +"bs-logger@npm:0.x": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: "npm:2.x" + checksum: 10c0/80e89aaaed4b68e3374ce936f2eb097456a0dddbf11f75238dbd53140b1e39259f0d248a5089ed456f1158984f22191c3658d54a713982f676709fbe1a6fa5a0 + languageName: node + linkType: hard + +"bs58@npm:^5.0.0": + version: 5.0.0 + resolution: "bs58@npm:5.0.0" + dependencies: + base-x: "npm:^4.0.0" + checksum: 10c0/0d1b05630b11db48039421b5975cb2636ae0a42c62f770eec257b2e5c7d94cb5f015f440785f3ec50870a6e9b1132b35bd0a17c7223655b22229f24b2a3491d1 + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: "npm:^0.4.0" + checksum: 10c0/24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 + languageName: node + linkType: hard + +"buffer-equal-constant-time@npm:1.0.1": + version: 1.0.1 + resolution: "buffer-equal-constant-time@npm:1.0.1" + checksum: 10c0/fb2294e64d23c573d0dd1f1e7a466c3e978fe94a4e0f8183937912ca374619773bef8e2aceb854129d2efecbbc515bbd0cc78d2734a3e3031edb0888531bbc8e + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer@npm:^5.5.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.1.13" + checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e + languageName: node + linkType: hard + +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + +"busboy@npm:^1.0.0": + version: 1.6.0 + resolution: "busboy@npm:1.6.0" + dependencies: + streamsearch: "npm:^1.1.0" + checksum: 10c0/fa7e836a2b82699b6e074393428b91ae579d4f9e21f5ac468e1b459a244341d722d2d22d10920cdd849743dbece6dca11d72de939fb75a7448825cf2babfba1f + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"cache-manager@npm:^4.0.0": + version: 4.1.0 + resolution: "cache-manager@npm:4.1.0" + dependencies: + async: "npm:3.2.3" + lodash.clonedeep: "npm:^4.5.0" + lru-cache: "npm:^7.10.1" + checksum: 10c0/64287c95882b47b4525ba8c699862e6fc1e847ebdfc4084f463ecf254a4101eea5e0160236a7d9b633e8d9a75c1ed5bd5bc8b19c5bb3341ae729e2ab4b4be6eb + languageName: node + linkType: hard + +"call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.1" + checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001587": + version: 1.0.30001607 + resolution: "caniuse-lite@npm:1.0.30001607" + checksum: 10c0/3416b83475b6297a46d4ede1694b351a2899fb409dfd0190b96776d9b49a45f46dd967e673dd0cd3c3fef68549ef708b06de5d73b4c381e205d19c36fcfcfa35 + languageName: node + linkType: hard + +"ccxt@npm:^4.4.92": + version: 4.4.92 + resolution: "ccxt@npm:4.4.92" + dependencies: + ws: "npm:^8.8.1" + checksum: 10c0/03c371c2523c2aa388a3ce1c94da435ec15de078bbb51e0ce24afb0bb43bad4d346d5bd60bf692bc787f040e14106d39f1d4d63747e7b95c386b9614fb452e45 + languageName: node + linkType: hard + +"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^5.3.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e + languageName: node + linkType: hard + +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 10c0/96e4731b9ec8050cbb56ab684e8c48d6c33f7826b755802d14e3ebfdc51c57afeece3ea39bc6b09acc359e4363525388b915e16640c1378053820f5e70d0f27d + languageName: node + linkType: hard + +"check-disk-space@npm:3.4.0": + version: 3.4.0 + resolution: "check-disk-space@npm:3.4.0" + checksum: 10c0/cc39c91e1337e974fb5069c2fbd9eb92aceca6e35f3da6863a4eada58f15c1bf6970055bffed1e41c15cde1fd0ad2580bb99bef8275791ed56d69947f8657aa5 + languageName: node + linkType: hard + +"chokidar@npm:3.6.0, chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"chrome-trace-event@npm:^1.0.2": + version: 1.0.3 + resolution: "chrome-trace-event@npm:1.0.3" + checksum: 10c0/080ce2d20c2b9e0f8461a380e9585686caa768b1c834a464470c9dc74cda07f27611c7b727a2cd768a9cecd033297fdec4ce01f1e58b62227882c1059dec321c + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.0.0": + version: 1.2.3 + resolution: "cjs-module-lexer@npm:1.2.3" + checksum: 10c0/0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab + languageName: node + linkType: hard + +"class-transformer@npm:^0.5.1": + version: 0.5.1 + resolution: "class-transformer@npm:0.5.1" + checksum: 10c0/19809914e51c6db42c036166839906420bb60367df14e15f49c45c8c1231bf25ae661ebe94736ee29cc688b77101ef851a8acca299375cc52fc141b64acde18a + languageName: node + linkType: hard + +"class-validator@npm:^0.14.1": + version: 0.14.1 + resolution: "class-validator@npm:0.14.1" + dependencies: + "@types/validator": "npm:^13.11.8" + libphonenumber-js: "npm:^1.10.53" + validator: "npm:^13.9.0" + checksum: 10c0/946e914e47548b5081449c720ea6a4877bac63dc960e14fca4b990b56e64efe3802d12f07ec22d6420c290245b72ea2d646939239f2a3b597794e6c4c2a4f2ae + languageName: node + linkType: hard + +"cli-boxes@npm:^2.2.1": + version: 2.2.1 + resolution: "cli-boxes@npm:2.2.1" + checksum: 10c0/6111352edbb2f62dbc7bfd58f2d534de507afed7f189f13fa894ce5a48badd94b2aa502fda28f1d7dd5f1eb456e7d4033d09a76660013ef50c7f66e7a034f050 + languageName: node + linkType: hard + +"cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: "npm:^3.1.0" + checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 + languageName: node + linkType: hard + +"cli-highlight@npm:^2.1.11": + version: 2.1.11 + resolution: "cli-highlight@npm:2.1.11" + dependencies: + chalk: "npm:^4.0.0" + highlight.js: "npm:^10.7.1" + mz: "npm:^2.4.0" + parse5: "npm:^5.1.1" + parse5-htmlparser2-tree-adapter: "npm:^6.0.0" + yargs: "npm:^16.0.0" + bin: + highlight: bin/highlight + checksum: 10c0/b5b4af3b968aa9df77eee449a400fbb659cf47c4b03a395370bd98d5554a00afaa5819b41a9a8a1ca0d37b0b896a94e57c65289b37359a25b700b1f56eb04852 + languageName: node + linkType: hard + +"cli-spinners@npm:^2.5.0": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 + languageName: node + linkType: hard + +"cli-table3@npm:0.6.3": + version: 0.6.3 + resolution: "cli-table3@npm:0.6.3" + dependencies: + "@colors/colors": "npm:1.5.0" + string-width: "npm:^4.2.0" + dependenciesMeta: + "@colors/colors": + optional: true + checksum: 10c0/39e580cb346c2eaf1bd8f4ff055ae644e902b8303c164a1b8894c0dc95941f92e001db51f49649011be987e708d9fa3183ccc2289a4d376a057769664048cc0c + languageName: node + linkType: hard + +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 10c0/125a62810e59a2564268c80fdff56c23159a7690c003e34aeb2e68497dccff26911998ff49c33916fcfdf71e824322cc3953e3f7b48b27267c7a062c81348a9a + languageName: node + linkType: hard + +"cli-width@npm:^4.1.0": + version: 4.1.0 + resolution: "cli-width@npm:4.1.0" + checksum: 10c0/1fbd56413578f6117abcaf858903ba1f4ad78370a4032f916745fa2c7e390183a9d9029cf837df320b0fdce8137668e522f60a30a5f3d6529ff3872d265a955f + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 10c0/c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 + languageName: node + linkType: hard + +"coingecko-api-v3@npm:^0.0.29": + version: 0.0.29 + resolution: "coingecko-api-v3@npm:0.0.29" + dependencies: + https: "npm:^1.0.0" + checksum: 10c0/5d57f7ac5e2be3ef69b28bb7f5deaf934c642222b7b986371f9c49c327a523a4d8936abbc529a49a30940748f924031cb90e81cbb3f228655ab7644ad7c1b512 + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.2 + resolution: "collect-v8-coverage@npm:1.0.2" + checksum: 10c0/ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0, color-convert@npm:^1.9.3": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:^1.0.0, color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"color-string@npm:^1.6.0": + version: 1.9.1 + resolution: "color-string@npm:1.9.1" + dependencies: + color-name: "npm:^1.0.0" + simple-swizzle: "npm:^0.2.2" + checksum: 10c0/b0bfd74c03b1f837f543898b512f5ea353f71630ccdd0d66f83028d1f0924a7d4272deb278b9aef376cacf1289b522ac3fb175e99895283645a2dc3a33af2404 + languageName: node + linkType: hard + +"color-support@npm:^1.1.2": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 10c0/8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 + languageName: node + linkType: hard + +"color@npm:^3.1.3": + version: 3.2.1 + resolution: "color@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.3" + color-string: "npm:^1.6.0" + checksum: 10c0/39345d55825884c32a88b95127d417a2c24681d8b57069413596d9fcbb721459ef9d9ec24ce3e65527b5373ce171b73e38dbcd9c830a52a6487e7f37bf00e83c + languageName: node + linkType: hard + +"colorspace@npm:1.1.x": + version: 1.1.4 + resolution: "colorspace@npm:1.1.4" + dependencies: + color: "npm:^3.1.3" + text-hex: "npm:1.0.x" + checksum: 10c0/af5f91ff7f8e146b96e439ac20ed79b197210193bde721b47380a75b21751d90fa56390c773bb67c0aedd34ff85091883a437ab56861c779bd507d639ba7e123 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"commander@npm:4.1.1": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + +"comment-json@npm:4.2.3": + version: 4.2.3 + resolution: "comment-json@npm:4.2.3" + dependencies: + array-timsort: "npm:^1.0.3" + core-util-is: "npm:^1.0.3" + esprima: "npm:^4.0.1" + has-own-prop: "npm:^2.0.0" + repeat-string: "npm:^1.6.1" + checksum: 10c0/e8a0d3a6d75d92551f9a7e6fefa31f3d831dc33117b0b9432f061f45a571c85c16143e4110693d450f6eca20841db43f5429ac0d801673bcf03e9973ab1c31af + languageName: node + linkType: hard + +"component-emitter@npm:^1.3.0": + version: 1.3.1 + resolution: "component-emitter@npm:1.3.1" + checksum: 10c0/e4900b1b790b5e76b8d71b328da41482118c0f3523a516a41be598dc2785a07fd721098d9bf6e22d89b19f4fa4e1025160dc00317ea111633a3e4f75c2b86032 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"concat-stream@npm:^1.5.2": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.2.2" + typedarray: "npm:^0.0.6" + checksum: 10c0/2e9864e18282946dabbccb212c5c7cec0702745e3671679eb8291812ca7fd12023f7d8cb36493942a62f770ac96a7f90009dc5c82ad69893438371720fa92617 + languageName: node + linkType: hard + +"consola@npm:^2.15.0": + version: 2.15.3 + resolution: "consola@npm:2.15.3" + checksum: 10c0/34a337e6b4a1349ee4d7b4c568484344418da8fdb829d7d71bfefcd724f608f273987633b6eef465e8de510929907a092e13cb7a28a5d3acb3be446fcc79fd5e + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 10c0/7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb + languageName: node + linkType: hard + +"content-type@npm:~1.0.4, content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cookie-parser@npm:^1.4.6": + version: 1.4.6 + resolution: "cookie-parser@npm:1.4.6" + dependencies: + cookie: "npm:0.4.1" + cookie-signature: "npm:1.0.6" + checksum: 10c0/9c2ade5459290802cd472a2d2a6e46fbd7de3e8514e02bfed5edfde892d77733c7f89d9d2015f752a9087680429b416972d7aba748bf6824e21eb680c8556383 + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 + languageName: node + linkType: hard + +"cookie@npm:0.4.1": + version: 0.4.1 + resolution: "cookie@npm:0.4.1" + checksum: 10c0/4d7bc798df3d0f34035977949cd6b7d05bbab47d7dcb868667f460b578a550cd20dec923832b8a3a107ef35aba091a3975e14f79efacf6e39282dc0fed6db4a1 + languageName: node + linkType: hard + +"cookie@npm:0.6.0": + version: 0.6.0 + resolution: "cookie@npm:0.6.0" + checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686 + languageName: node + linkType: hard + +"cookie@npm:~0.4.1": + version: 0.4.2 + resolution: "cookie@npm:0.4.2" + checksum: 10c0/beab41fbd7c20175e3a2799ba948c1dcc71ef69f23fe14eeeff59fc09f50c517b0f77098db87dbb4c55da802f9d86ee86cdc1cd3efd87760341551838d53fca2 + languageName: node + linkType: hard + +"cookiejar@npm:^2.1.4": + version: 2.1.4 + resolution: "cookiejar@npm:2.1.4" + checksum: 10c0/2dae55611c6e1678f34d93984cbd4bda58f4fe3e5247cc4993f4a305cd19c913bbaf325086ed952e892108115073a747596453d3dc1c34947f47f731818b8ad1 + languageName: node + linkType: hard + +"core-util-is@npm:^1.0.3, core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 + languageName: node + linkType: hard + +"cors@npm:2.8.5, cors@npm:~2.8.5": + version: 2.8.5 + resolution: "cors@npm:2.8.5" + dependencies: + object-assign: "npm:^4" + vary: "npm:^1" + checksum: 10c0/373702b7999409922da80de4a61938aabba6929aea5b6fd9096fefb9e8342f626c0ebd7507b0e8b0b311380744cc985f27edebc0a26e0ddb784b54e1085de761 + languageName: node + linkType: hard + +"cosmiconfig@npm:^8.2.0": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" + dependencies: + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + path-type: "npm:^4.0.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a + languageName: node + linkType: hard + +"create-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "create-jest@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + prompts: "npm:^2.0.1" + bin: + create-jest: bin/create-jest.js + checksum: 10c0/e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f + languageName: node + linkType: hard + +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 + languageName: node + linkType: hard + +"cron@npm:2.4.3": + version: 2.4.3 + resolution: "cron@npm:2.4.3" + dependencies: + "@types/luxon": "npm:~3.3.0" + luxon: "npm:~3.3.0" + checksum: 10c0/3112d4cb0aa1c1129c0bb742eec205e38948806c907e21a0680d1aa83a1270bfade9fcf090c1604529684d21a64d74eb89075e25c16d48d95cf3c5b5d032f316 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + languageName: node + linkType: hard + +"dayjs@npm:^1.11.9": + version: 1.11.10 + resolution: "dayjs@npm:1.11.10" + checksum: 10c0/4de9af50639d47df87f2e15fa36bb07e0f9ed1e9c52c6caa1482788ee9a384d668f1dbd00c54f82aaab163db07d61d2899384b8254da3a9184fc6deca080e2fe + languageName: node + linkType: hard + +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 + languageName: node + linkType: hard + +"decimal.js@npm:^10.4.3": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee + languageName: node + linkType: hard + +"dedent@npm:^1.0.0": + version: 1.5.1 + resolution: "dedent@npm:1.5.1" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: 10c0/f8612cd5b00aab58b18bb95572dca08dc2d49720bfa7201a444c3dae430291e8a06d4928614a6ec8764d713927f44bce9c990d3b8238fca2f430990ddc17c070 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + +"defaults@npm:^1.0.3": + version: 1.0.4 + resolution: "defaults@npm:1.0.4" + dependencies: + clone: "npm:^1.0.2" + checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a + languageName: node + linkType: hard + +"define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.0": + version: 2.0.3 + resolution: "detect-libc@npm:2.0.3" + checksum: 10c0/88095bda8f90220c95f162bf92cad70bd0e424913e655c20578600e35b91edc261af27531cf160a331e185c0ced93944bc7e09939143225f56312d7fd800fdb7 + languageName: node + linkType: hard + +"detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d + languageName: node + linkType: hard + +"dezalgo@npm:^1.0.4": + version: 1.0.4 + resolution: "dezalgo@npm:1.0.4" + dependencies: + asap: "npm:^2.0.0" + wrappy: "npm:1" + checksum: 10c0/8a870ed42eade9a397e6141fe5c025148a59ed52f1f28b1db5de216b4d57f0af7a257070c3af7ce3d5508c1ce9dd5009028a76f4b2cc9370dc56551d2355fad8 + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + languageName: node + linkType: hard + +"dotenv-expand@npm:10.0.0": + version: 10.0.0 + resolution: "dotenv-expand@npm:10.0.0" + checksum: 10c0/298f5018e29cfdcb0b5f463ba8e8627749103fbcf6cf81c561119115754ed582deee37b49dfc7253028aaba875ab7aea5fa90e5dac88e511d009ab0e6677924e + languageName: node + linkType: hard + +"dotenv@npm:16.4.5, dotenv@npm:^16.0.3, dotenv@npm:^16.3.1": + version: 16.4.5 + resolution: "dotenv@npm:16.4.5" + checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"ecdsa-sig-formatter@npm:1.0.11": + version: 1.0.11 + resolution: "ecdsa-sig-formatter@npm:1.0.11" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/ebfbf19d4b8be938f4dd4a83b8788385da353d63307ede301a9252f9f7f88672e76f2191618fd8edfc2f24679236064176fab0b78131b161ee73daa37125408c + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.668": + version: 1.4.730 + resolution: "electron-to-chromium@npm:1.4.730" + checksum: 10c0/c524b8d61797de6c597ce3adf069bbde7f2c68d25d1c83a8ab28ff5d977f4520f60e9f33ea05fcd6efca222ecc05933e395258641a833c3585d76a6bbb0b4990 + languageName: node + linkType: hard + +"elliptic@npm:6.5.4": + version: 6.5.4 + resolution: "elliptic@npm:6.5.4" + dependencies: + bn.js: "npm:^4.11.9" + brorand: "npm:^1.1.0" + hash.js: "npm:^1.0.0" + hmac-drbg: "npm:^1.0.1" + inherits: "npm:^2.0.4" + minimalistic-assert: "npm:^1.0.1" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/5f361270292c3b27cf0843e84526d11dec31652f03c2763c6c2b8178548175ff5eba95341dd62baff92b2265d1af076526915d8af6cc9cb7559c44a62f8ca6e2 + languageName: node + linkType: hard + +"emittery@npm:^0.13.1": + version: 0.13.1 + resolution: "emittery@npm:0.13.1" + checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"enabled@npm:2.0.x": + version: 2.0.0 + resolution: "enabled@npm:2.0.0" + checksum: 10c0/3b2c2af9bc7f8b9e291610f2dde4a75cf6ee52a68f4dd585482fbdf9a55d65388940e024e56d40bb03e05ef6671f5f53021fa8b72a20e954d7066ec28166713f + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"engine.io-client@npm:~6.5.2": + version: 6.5.3 + resolution: "engine.io-client@npm:6.5.3" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.1" + engine.io-parser: "npm:~5.2.1" + ws: "npm:~8.11.0" + xmlhttprequest-ssl: "npm:~2.0.0" + checksum: 10c0/15d2136655972984012fe5c92446ff9939c08d872262bbb23cd54be1b66a00d489da93321cd01a8ad72eaf4022cfd73bdc8bccf32fa51c097a96c0b4c679cd7b + languageName: node + linkType: hard + +"engine.io-parser@npm:~5.2.1": + version: 5.2.2 + resolution: "engine.io-parser@npm:5.2.2" + checksum: 10c0/38e71a92ed75e2873d4d9cfab7f889e4a3cfc939b689abd1045e1b2ef9f1a50d0350a2bef69f33d313c1aa626232702da5a9043a1038d76f5ecc0be440c648ab + languageName: node + linkType: hard + +"engine.io@npm:~6.5.2": + version: 6.5.4 + resolution: "engine.io@npm:6.5.4" + dependencies: + "@types/cookie": "npm:^0.4.1" + "@types/cors": "npm:^2.8.12" + "@types/node": "npm:>=10.0.0" + accepts: "npm:~1.3.4" + base64id: "npm:2.0.0" + cookie: "npm:~0.4.1" + cors: "npm:~2.8.5" + debug: "npm:~4.3.1" + engine.io-parser: "npm:~5.2.1" + ws: "npm:~8.11.0" + checksum: 10c0/1e90c46d682badf0c0a13c671a78ce3f6590f7e6b74b081804eb6e5103be11806015e3cde7eb7c1657c4866edcf069ea40ef1c66386a6befe30f0f1f30d3b2f2 + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.15.0, enhanced-resolve@npm:^5.7.0": + version: 5.16.0 + resolution: "enhanced-resolve@npm:5.16.0" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10c0/dd69669cbb638ccacefd03e04d5e195ee6a99b7f5f8012f86d2df7781834de357923e06064ea621137c4ce0b37cc12b872b4e6d1ac6ab15fe98e7f1dfbbb08c4 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.2.1": + version: 1.5.0 + resolution: "es-module-lexer@npm:1.5.0" + checksum: 10c0/d199853404f3381801eb102befb84a8fc48f93ed86b852c2461c2c4ad4bbbc91128f3d974ff9b8718628260ae3f36e661295ab3e419222868aa31269284e34c9 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^9.0.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^4.0.0": + version: 4.2.1 + resolution: "eslint-plugin-prettier@npm:4.2.1" + dependencies: + prettier-linter-helpers: "npm:^1.0.0" + peerDependencies: + eslint: ">=7.28.0" + prettier: ">=2.0.0" + peerDependenciesMeta: + eslint-config-prettier: + optional: true + checksum: 10c0/c5e7316baeab9d96ac39c279f16686e837277e5c67a8006c6588bcff317edffdc1532fb580441eb598bc6770f6444006756b68a6575dff1cd85ebe227252d0b7 + languageName: node + linkType: hard + +"eslint-scope@npm:5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a + languageName: node + linkType: hard + +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint@npm:^8.0.1": + version: 8.57.0 + resolution: "eslint@npm:8.57.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.6.1" + "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/js": "npm:8.57.0" + "@humanwhocodes/config-array": "npm:^0.11.14" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@nodelib/fs.walk": "npm:^1.2.8" + "@ungap/structured-clone": "npm:^1.2.0" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + doctrine: "npm:^3.0.0" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^7.2.2" + eslint-visitor-keys: "npm:^3.4.3" + espree: "npm:^9.6.1" + esquery: "npm:^1.4.2" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^6.0.1" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + globals: "npm:^13.19.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + js-yaml: "npm:^4.1.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + bin: + eslint: bin/eslint.js + checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 + languageName: node + linkType: hard + +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0, esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esquery@npm:^1.4.2": + version: 1.5.0 + resolution: "esquery@npm:1.5.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 + languageName: node + linkType: hard + +"ethers@npm:^5.7.2": + version: 5.7.2 + resolution: "ethers@npm:5.7.2" + dependencies: + "@ethersproject/abi": "npm:5.7.0" + "@ethersproject/abstract-provider": "npm:5.7.0" + "@ethersproject/abstract-signer": "npm:5.7.0" + "@ethersproject/address": "npm:5.7.0" + "@ethersproject/base64": "npm:5.7.0" + "@ethersproject/basex": "npm:5.7.0" + "@ethersproject/bignumber": "npm:5.7.0" + "@ethersproject/bytes": "npm:5.7.0" + "@ethersproject/constants": "npm:5.7.0" + "@ethersproject/contracts": "npm:5.7.0" + "@ethersproject/hash": "npm:5.7.0" + "@ethersproject/hdnode": "npm:5.7.0" + "@ethersproject/json-wallets": "npm:5.7.0" + "@ethersproject/keccak256": "npm:5.7.0" + "@ethersproject/logger": "npm:5.7.0" + "@ethersproject/networks": "npm:5.7.1" + "@ethersproject/pbkdf2": "npm:5.7.0" + "@ethersproject/properties": "npm:5.7.0" + "@ethersproject/providers": "npm:5.7.2" + "@ethersproject/random": "npm:5.7.0" + "@ethersproject/rlp": "npm:5.7.0" + "@ethersproject/sha2": "npm:5.7.0" + "@ethersproject/signing-key": "npm:5.7.0" + "@ethersproject/solidity": "npm:5.7.0" + "@ethersproject/strings": "npm:5.7.0" + "@ethersproject/transactions": "npm:5.7.0" + "@ethersproject/units": "npm:5.7.0" + "@ethersproject/wallet": "npm:5.7.0" + "@ethersproject/web": "npm:5.7.1" + "@ethersproject/wordlists": "npm:5.7.0" + checksum: 10c0/90629a4cdb88cde7a7694f5610a83eb00d7fbbaea687446b15631397988f591c554dd68dfa752ddf00aabefd6285e5b298be44187e960f5e4962684e10b39962 + languageName: node + linkType: hard + +"eventemitter2@npm:6.4.9": + version: 6.4.9 + resolution: "eventemitter2@npm:6.4.9" + checksum: 10c0/b2adf7d9f1544aa2d95ee271b0621acaf1e309d85ebcef1244fb0ebc7ab0afa6ffd5e371535d0981bc46195ad67fd6ff57a8d1db030584dee69aa5e371a27ea7 + languageName: node + linkType: hard + +"events@npm:^3.2.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: 10c0/71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 + languageName: node + linkType: hard + +"expect@npm:^29.0.0, expect@npm:^29.7.0": + version: 29.7.0 + resolution: "expect@npm:29.7.0" + dependencies: + "@jest/expect-utils": "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + languageName: node + linkType: hard + +"express@npm:4.19.2, express@npm:^4.18.2": + version: 4.19.2 + resolution: "express@npm:4.19.2" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.2" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.6.0" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.2.0" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.1" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.7" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.11.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.18.0" + serve-static: "npm:1.15.0" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10c0/e82e2662ea9971c1407aea9fc3c16d6b963e55e3830cd0ef5e00b533feda8b770af4e3be630488ef8a752d7c75c4fcefb15892868eeaafe7353cb9e3e269fdcb + languageName: node + linkType: hard + +"external-editor@npm:^3.0.3, external-editor@npm:^3.1.0": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: "npm:^0.7.0" + iconv-lite: "npm:^0.4.24" + tmp: "npm:^0.0.33" + checksum: 10c0/c98f1ba3efdfa3c561db4447ff366a6adb5c1e2581462522c56a18bf90dfe4da382f9cd1feee3e330108c3595a854b218272539f311ba1b3298f841eb0fbf339 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.3.0 + resolution: "fast-diff@npm:1.3.0" + checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fast-safe-stringify@npm:2.1.1, fast-safe-stringify@npm:^2.1.1": + version: 2.1.1 + resolution: "fast-safe-stringify@npm:2.1.1" + checksum: 10c0/d90ec1c963394919828872f21edaa3ad6f1dddd288d2bd4e977027afff09f5db40f94e39536d4646f7e01761d704d72d51dce5af1b93717f3489ef808f5f4e4d + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.17.1 + resolution: "fastq@npm:1.17.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.2 + resolution: "fb-watchman@npm:2.0.2" + dependencies: + bser: "npm:2.1.1" + checksum: 10c0/feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 + languageName: node + linkType: hard + +"fdir@npm:^6.4.4": + version: 6.4.5 + resolution: "fdir@npm:6.4.5" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/5d63330a1b97165e9b0fb20369fafc7cf826bc4b3e374efcb650bc77d7145ac01193b5da1a7591eab89ae6fd6b15cdd414085910b2a2b42296b1480c9f2677af + languageName: node + linkType: hard + +"fecha@npm:^4.2.0": + version: 4.2.3 + resolution: "fecha@npm:4.2.3" + checksum: 10c0/0e895965959cf6a22bb7b00f0bf546f2783836310f510ddf63f463e1518d4c96dec61ab33fdfd8e79a71b4856a7c865478ce2ee8498d560fe125947703c9b1cf + languageName: node + linkType: hard + +"figures@npm:^3.0.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard + +"figures@npm:^5.0.0": + version: 5.0.0 + resolution: "figures@npm:5.0.0" + dependencies: + escape-string-regexp: "npm:^5.0.0" + is-unicode-supported: "npm:^1.2.0" + checksum: 10c0/ce0f17d4ea8b0fc429c5207c343534a2f5284ecfb22aa08607da7dc84ed9e1cf754f5b97760e8dcb98d3c9d1a1e4d3d578fe3b5b99c426f05d0f06c7ba618e16 + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: "npm:^3.0.4" + checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f + languageName: node + linkType: hard + +"finalhandler@npm:1.2.0": + version: 1.2.0 + resolution: "finalhandler@npm:1.2.0" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10c0/64b7e5ff2ad1fcb14931cd012651631b721ce657da24aedb5650ddde9378bf8e95daa451da43398123f5de161a81e79ff5affe4f9f2a6d2df4a813d6d3e254b7 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.3" + rimraf: "npm:^3.0.2" + checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.3.1 + resolution: "flatted@npm:3.3.1" + checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf + languageName: node + linkType: hard + +"fn.name@npm:1.x.x": + version: 1.1.0 + resolution: "fn.name@npm:1.1.0" + checksum: 10c0/8ad62aa2d4f0b2a76d09dba36cfec61c540c13a0fd72e5d94164e430f987a7ce6a743112bbeb14877c810ef500d1f73d7f56e76d029d2e3413f20d79e3460a9a + languageName: node + linkType: hard + +"follow-redirects@npm:^1.15.0, follow-redirects@npm:^1.15.6": + version: 1.15.6 + resolution: "follow-redirects@npm:1.15.6" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/9ff767f0d7be6aa6870c82ac79cf0368cd73e01bbc00e9eb1c2a16fbb198ec105e3c9b6628bb98e9f3ac66fe29a957b9645bcb9a490bb7aa0d35f908b6b85071 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.1.1 + resolution: "foreground-child@npm:3.1.1" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 + languageName: node + linkType: hard + +"fork-ts-checker-webpack-plugin@npm:9.0.2": + version: 9.0.2 + resolution: "fork-ts-checker-webpack-plugin@npm:9.0.2" + dependencies: + "@babel/code-frame": "npm:^7.16.7" + chalk: "npm:^4.1.2" + chokidar: "npm:^3.5.3" + cosmiconfig: "npm:^8.2.0" + deepmerge: "npm:^4.2.2" + fs-extra: "npm:^10.0.0" + memfs: "npm:^3.4.1" + minimatch: "npm:^3.0.4" + node-abort-controller: "npm:^3.0.1" + schema-utils: "npm:^3.1.1" + semver: "npm:^7.3.5" + tapable: "npm:^2.2.1" + peerDependencies: + typescript: ">3.6.0" + webpack: ^5.11.0 + checksum: 10c0/37e11dadcc65d297f07882f1661795289f2bf16fa9dea0b90bcc438855d48787378bce4dfcd8e842782f220503438995efbb28cbe560126f6a744ff740e8cc38 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e + languageName: node + linkType: hard + +"formidable@npm:^2.1.2": + version: 2.1.2 + resolution: "formidable@npm:2.1.2" + dependencies: + dezalgo: "npm:^1.0.4" + hexoid: "npm:^1.0.0" + once: "npm:^1.4.0" + qs: "npm:^6.11.0" + checksum: 10c0/efba03d11127098daa6ef54c3c0fad25693973eb902fa88ccaaa203baebe8c74d12ba0fe1e113eccf79b9172510fa337e4e107330b124fb3a8c74697b4aa2ce3 + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a + languageName: node + linkType: hard + +"fs-extra@npm:^10.0.0": + version: 10.1.0 + resolution: "fs-extra@npm:10.1.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs-monkey@npm:^1.0.4": + version: 1.0.5 + resolution: "fs-monkey@npm:1.0.5" + checksum: 10c0/815025e75549fb1ac6c403413b82fd631eded862ae27694a515c0f666069e95874ab34e79c33d1b3b8c87d1e54350d5e4262090d0aa5bd7130143cbc627537e4 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"gauge@npm:^3.0.0": + version: 3.0.2 + resolution: "gauge@npm:3.0.2" + dependencies: + aproba: "npm:^1.0.3 || ^2.0.0" + color-support: "npm:^1.1.2" + console-control-strings: "npm:^1.0.0" + has-unicode: "npm:^2.0.1" + object-assign: "npm:^4.1.1" + signal-exit: "npm:^3.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wide-align: "npm:^1.1.2" + checksum: 10c0/75230ccaf216471e31025c7d5fcea1629596ca20792de50c596eb18ffb14d8404f927cd55535aab2eeecd18d1e11bd6f23ec3c2e9878d2dda1dc74bccc34b913 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + languageName: node + linkType: hard + +"get-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: 10c0/e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob-to-regexp@npm:^0.4.1": + version: 0.4.1 + resolution: "glob-to-regexp@npm:0.4.1" + checksum: 10c0/0486925072d7a916f052842772b61c3e86247f0a80cc0deb9b5a3e8a1a9faad5b04fb6f58986a09f34d3e96cd2a22a24b7e9882fb1cf904c31e9a310de96c429 + languageName: node + linkType: hard + +"glob@npm:10.3.10": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^2.3.5" + minimatch: "npm:^9.0.1" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry: "npm:^1.10.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d + languageName: node + linkType: hard + +"glob@npm:^10.2.2": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^10.3.10": + version: 10.3.12 + resolution: "glob@npm:10.3.12" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^2.3.6" + minimatch: "npm:^9.0.1" + minipass: "npm:^7.0.4" + path-scurry: "npm:^1.10.2" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/f60cefdc1cf3f958b2bb5823e1b233727f04916d489dc4641d76914f016e6704421e06a83cbb68b0cb1cb9382298b7a88075b844ad2127fc9727ea22b18b0711 + languageName: node + linkType: hard + +"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"glob@npm:^9.2.0": + version: 9.3.5 + resolution: "glob@npm:9.3.5" + dependencies: + fs.realpath: "npm:^1.0.0" + minimatch: "npm:^8.0.2" + minipass: "npm:^4.2.4" + path-scurry: "npm:^1.6.1" + checksum: 10c0/2f6c2b9ee019ee21dc258ae97a88719614591e4c979cb4580b1b9df6f0f778a3cb38b4bdaf18dfa584637ea10f89a3c5f2533a5e449cf8741514ad18b0951f2e + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globals@npm:^13.19.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.1.3" + checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-own-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "has-own-prop@npm:2.0.0" + checksum: 10c0/2745497283d80228b5c5fbb8c63ab1029e604bce7db8d4b36255e427b3695b2153dc978b176674d0dd2a23f132809e04d7ef41fefc0ab85870a5caa918c5c0d9 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 10c0/ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c + languageName: node + linkType: hard + +"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: "npm:^2.0.3" + minimalistic-assert: "npm:^1.0.1" + checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 + languageName: node + linkType: hard + +"hasown@npm:^2.0.0": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"hexoid@npm:^1.0.0": + version: 1.0.0 + resolution: "hexoid@npm:1.0.0" + checksum: 10c0/9c45e8ba676b9eb88455631ebceec4c829a8374a583410dc735472ab9808bf11339fcd074633c3fa30e420901b894d8a92ffd5e2e21eddd41149546e05a91f69 + languageName: node + linkType: hard + +"highlight.js@npm:^10.7.1": + version: 10.7.3 + resolution: "highlight.js@npm:10.7.3" + checksum: 10c0/073837eaf816922427a9005c56c42ad8786473dc042332dfe7901aa065e92bc3d94ebf704975257526482066abb2c8677cc0326559bb8621e046c21c5991c434 + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: "npm:^1.0.3" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"https@npm:^1.0.0": + version: 1.0.0 + resolution: "https@npm:1.0.0" + checksum: 10c0/e36eb4c38f09264bb273925b2d658c38bb8dda655cdff679b75dc45ccac26b1520fadcf00be677ccc4432a62f44a408b522f66cfc802ce30f4effe75decfd554 + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.3.1": + version: 5.3.1 + resolution: "ignore@npm:5.3.1" + checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.1.0 + resolution: "import-local@npm:3.1.0" + dependencies: + pkg-dir: "npm:^4.2.0" + resolve-cwd: "npm:^3.0.0" + bin: + import-local-fixture: fixtures/cli.js + checksum: 10c0/c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"inquirer@npm:8.2.6": + version: 8.2.6 + resolution: "inquirer@npm:8.2.6" + dependencies: + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.1.1" + cli-cursor: "npm:^3.1.0" + cli-width: "npm:^3.0.0" + external-editor: "npm:^3.0.3" + figures: "npm:^3.0.0" + lodash: "npm:^4.17.21" + mute-stream: "npm:0.0.8" + ora: "npm:^5.4.1" + run-async: "npm:^2.4.0" + rxjs: "npm:^7.5.5" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + through: "npm:^2.3.6" + wrap-ansi: "npm:^6.0.1" + checksum: 10c0/eb5724de1778265323f3a68c80acfa899378cb43c24cdcb58661386500e5696b6b0b6c700e046b7aa767fe7b4823c6f04e6ddc268173e3f84116112529016296 + languageName: node + linkType: hard + +"inquirer@npm:9.2.12": + version: 9.2.12 + resolution: "inquirer@npm:9.2.12" + dependencies: + "@ljharb/through": "npm:^2.3.11" + ansi-escapes: "npm:^4.3.2" + chalk: "npm:^5.3.0" + cli-cursor: "npm:^3.1.0" + cli-width: "npm:^4.1.0" + external-editor: "npm:^3.1.0" + figures: "npm:^5.0.0" + lodash: "npm:^4.17.21" + mute-stream: "npm:1.0.0" + ora: "npm:^5.4.1" + run-async: "npm:^3.0.0" + rxjs: "npm:^7.8.1" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^6.2.0" + checksum: 10c0/efc19864bea5f4b22a47e686aa88684ee42352db4e96dd6307da7140496c16e5ef0e74be664fba490b068714dc24d72f66dc1907a1ccbaf9d58d6156cbdc5908 + languageName: node + linkType: hard + +"int64-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "int64-buffer@npm:1.0.1" + checksum: 10c0/8226f1cb1c1c80ab54bc1a21cac786cfe7869b80043509204122c32f95a23f9556b62e265fa43cd5450424b788a2cd4ccc72e29d7e74dc10a83d71b500dc4ffd + languageName: node + linkType: hard + +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.3.1": + version: 0.3.2 + resolution: "is-arrayish@npm:0.3.2" + checksum: 10c0/f59b43dc1d129edb6f0e282595e56477f98c40278a2acdc8b0a5c57097c9eff8fe55470493df5775478cf32a4dc8eaf6d3a749f07ceee5bc263a78b2434f6a54 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-core-module@npm:^2.13.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: 10c0/2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-interactive@npm:^1.0.0": + version: 1.0.0 + resolution: "is-interactive@npm:1.0.0" + checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.3": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-retry-allowed@npm:2.2.0, is-retry-allowed@npm:^2.2.0": + version: 2.2.0 + resolution: "is-retry-allowed@npm:2.2.0" + checksum: 10c0/013be4f8a0a06a49ed1fe495242952e898325d496202a018f6f9fb3fb9ac8fe3b957a9bd62463d68299ae35dbbda680473c85a9bcefca731b49d500d3ccc08ff + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^1.2.0": + version: 1.3.0 + resolution: "is-unicode-supported@npm:1.3.0" + checksum: 10c0/b8674ea95d869f6faabddc6a484767207058b91aea0250803cbf1221345cb0c56f466d4ecea375dc77f6633d248d33c47bd296fb8f4cdba0b4edba8917e83d8a + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^5.0.4": + version: 5.2.1 + resolution: "istanbul-lib-instrument@npm:5.2.1" + dependencies: + "@babel/core": "npm:^7.12.3" + "@babel/parser": "npm:^7.14.7" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^6.3.0" + checksum: 10c0/8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^6.0.0": + version: 6.0.2 + resolution: "istanbul-lib-instrument@npm:6.0.2" + dependencies: + "@babel/core": "npm:^7.23.9" + "@babel/parser": "npm:^7.23.9" + "@istanbuljs/schema": "npm:^0.1.3" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^7.5.4" + checksum: 10c0/405c6ac037bf8c7ee7495980b0cd5544b2c53078c10534d0c9ceeb92a9ea7dcf8510f58ccfce31336458a8fa6ccef27b570bbb602abaa8c1650f5496a807477c + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^3.0.0" + source-map: "npm:^0.6.1" + checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.3": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/a379fadf9cf8dc5dfe25568115721d4a7eb82fbd50b005a6672aff9c6989b20cc9312d7865814e0859cd8df58cbf664482e1d3604be0afde1f7fc3ccc1394a51 + languageName: node + linkType: hard + +"iterare@npm:1.2.1": + version: 1.2.1 + resolution: "iterare@npm:1.2.1" + checksum: 10c0/02667d486e3e83ead028ba8484d927498c2ceab7e8c6a69dd881fd02abc4114f00b13abb36b592252fbb578b6e6f99ca1dfc2835408b9158c9a112a9964f453f + languageName: node + linkType: hard + +"jackspeak@npm:^2.3.5, jackspeak@npm:^2.3.6": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jest-changed-files@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-changed-files@npm:29.7.0" + dependencies: + execa: "npm:^5.0.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + checksum: 10c0/e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b + languageName: node + linkType: hard + +"jest-circus@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-circus@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + co: "npm:^4.6.0" + dedent: "npm:^1.0.0" + is-generator-fn: "npm:^2.0.0" + jest-each: "npm:^29.7.0" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + pure-rand: "npm:^6.0.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e + languageName: node + linkType: hard + +"jest-cli@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-cli@npm:29.7.0" + dependencies: + "@jest/core": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + create-jest: "npm:^29.7.0" + exit: "npm:^0.1.2" + import-local: "npm:^3.0.2" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + yargs: "npm:^17.3.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 10c0/a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a + languageName: node + linkType: hard + +"jest-config@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-config@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/test-sequencer": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-jest: "npm:^29.7.0" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + deepmerge: "npm:^4.2.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-circus: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + parse-json: "npm:^5.2.0" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-json-comments: "npm:^3.1.1" + peerDependencies: + "@types/node": "*" + ts-node: ">=9.0.0" + peerDependenciesMeta: + "@types/node": + optional: true + ts-node: + optional: true + checksum: 10c0/bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 + languageName: node + linkType: hard + +"jest-diff@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-diff@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^29.6.3" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 + languageName: node + linkType: hard + +"jest-docblock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-docblock@npm:29.7.0" + dependencies: + detect-newline: "npm:^3.0.0" + checksum: 10c0/d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 + languageName: node + linkType: hard + +"jest-each@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-each@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + pretty-format: "npm:^29.7.0" + checksum: 10c0/f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 + languageName: node + linkType: hard + +"jest-environment-node@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-environment-node@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b + languageName: node + linkType: hard + +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b + languageName: node + linkType: hard + +"jest-haste-map@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-haste-map@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/graceful-fs": "npm:^4.1.3" + "@types/node": "npm:*" + anymatch: "npm:^3.0.3" + fb-watchman: "npm:^2.0.0" + fsevents: "npm:^2.3.2" + graceful-fs: "npm:^4.2.9" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + walker: "npm:^1.0.8" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c + languageName: node + linkType: hard + +"jest-leak-detector@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-leak-detector@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-matcher-utils@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e + languageName: node + linkType: hard + +"jest-message-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-message-util@npm:29.7.0" + dependencies: + "@babel/code-frame": "npm:^7.12.13" + "@jest/types": "npm:^29.6.3" + "@types/stack-utils": "npm:^2.0.0" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 + languageName: node + linkType: hard + +"jest-mock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-mock@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + checksum: 10c0/7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.2": + version: 1.2.3 + resolution: "jest-pnp-resolver@npm:1.2.3" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: 10c0/86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac + languageName: node + linkType: hard + +"jest-regex-util@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-regex-util@npm:29.6.3" + checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve-dependencies@npm:29.7.0" + dependencies: + jest-regex-util: "npm:^29.6.3" + jest-snapshot: "npm:^29.7.0" + checksum: 10c0/b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d + languageName: node + linkType: hard + +"jest-resolve@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-pnp-resolver: "npm:^1.2.2" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + resolve: "npm:^1.20.0" + resolve.exports: "npm:^2.0.0" + slash: "npm:^3.0.0" + checksum: 10c0/59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 + languageName: node + linkType: hard + +"jest-runner@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runner@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/environment": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + graceful-fs: "npm:^4.2.9" + jest-docblock: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-leak-detector: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-resolve: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + source-map-support: "npm:0.5.13" + checksum: 10c0/2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 + languageName: node + linkType: hard + +"jest-runtime@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runtime@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/globals": "npm:^29.7.0" + "@jest/source-map": "npm:^29.6.3" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + cjs-module-lexer: "npm:^1.0.0" + collect-v8-coverage: "npm:^1.0.0" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-bom: "npm:^4.0.0" + checksum: 10c0/7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 + languageName: node + linkType: hard + +"jest-snapshot@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-snapshot@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@babel/generator": "npm:^7.7.2" + "@babel/plugin-syntax-jsx": "npm:^7.7.2" + "@babel/plugin-syntax-typescript": "npm:^7.7.2" + "@babel/types": "npm:^7.3.3" + "@jest/expect-utils": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + chalk: "npm:^4.0.0" + expect: "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + natural-compare: "npm:^1.4.0" + pretty-format: "npm:^29.7.0" + semver: "npm:^7.5.3" + checksum: 10c0/6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 + languageName: node + linkType: hard + +"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + graceful-fs: "npm:^4.2.9" + picomatch: "npm:^2.2.3" + checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 + languageName: node + linkType: hard + +"jest-validate@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-validate@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + leven: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + checksum: 10c0/a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 + languageName: node + linkType: hard + +"jest-watcher@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-watcher@npm:29.7.0" + dependencies: + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + jest-util: "npm:^29.7.0" + string-length: "npm:^4.0.1" + checksum: 10c0/ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 + languageName: node + linkType: hard + +"jest-worker@npm:^27.4.5": + version: 27.5.1 + resolution: "jest-worker@npm:27.5.1" + dependencies: + "@types/node": "npm:*" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/8c4737ffd03887b3c6768e4cc3ca0269c0336c1e4b1b120943958ddb035ed2a0fc6acab6dc99631720a3720af4e708ff84fb45382ad1e83c27946adf3623969b + languageName: node + linkType: hard + +"jest-worker@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" + dependencies: + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 + languageName: node + linkType: hard + +"jest@npm:^29.5.0": + version: 29.7.0 + resolution: "jest@npm:29.7.0" + dependencies: + "@jest/core": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + import-local: "npm:^3.0.2" + jest-cli: "npm:^29.7.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 10c0/f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b + languageName: node + linkType: hard + +"js-sha3@npm:0.8.0": + version: 0.8.0 + resolution: "js-sha3@npm:0.8.0" + checksum: 10c0/43a21dc7967c871bd2c46cb1c2ae97441a97169f324e509f382d43330d8f75cf2c96dba7c806ab08a425765a9c847efdd4bffbac2d99c3a4f3de6c0218f40533 + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json5@npm:^2.2.2, json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonc-parser@npm:3.2.0": + version: 3.2.0 + resolution: "jsonc-parser@npm:3.2.0" + checksum: 10c0/5a12d4d04dad381852476872a29dcee03a57439574e4181d91dca71904fcdcc5e8e4706c0a68a2c61ad9810e1e1c5806b5100d52d3e727b78f5cdc595401045b + languageName: node + linkType: hard + +"jsonc-parser@npm:3.2.1": + version: 3.2.1 + resolution: "jsonc-parser@npm:3.2.1" + checksum: 10c0/ada66dec143d7f9cb0e2d0d29c69e9ce40d20f3a4cb96b0c6efb745025ac7f9ba647d7ac0990d0adfc37a2d2ae084a12009a9c833dbdbeadf648879a99b9df89 + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"jsonwebtoken@npm:9.0.2, jsonwebtoken@npm:^9.0.0, jsonwebtoken@npm:^9.0.2": + version: 9.0.2 + resolution: "jsonwebtoken@npm:9.0.2" + dependencies: + jws: "npm:^3.2.2" + lodash.includes: "npm:^4.3.0" + lodash.isboolean: "npm:^3.0.3" + lodash.isinteger: "npm:^4.0.4" + lodash.isnumber: "npm:^3.0.3" + lodash.isplainobject: "npm:^4.0.6" + lodash.isstring: "npm:^4.0.1" + lodash.once: "npm:^4.0.0" + ms: "npm:^2.1.1" + semver: "npm:^7.5.4" + checksum: 10c0/d287a29814895e866db2e5a0209ce730cbc158441a0e5a70d5e940eb0d28ab7498c6bf45029cc8b479639bca94056e9a7f254e2cdb92a2f5750c7f358657a131 + languageName: node + linkType: hard + +"jwa@npm:^1.4.1": + version: 1.4.1 + resolution: "jwa@npm:1.4.1" + dependencies: + buffer-equal-constant-time: "npm:1.0.1" + ecdsa-sig-formatter: "npm:1.0.11" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/5c533540bf38702e73cf14765805a94027c66a0aa8b16bc3e89d8d905e61a4ce2791e87e21be97d1293a5ee9d4f3e5e47737e671768265ca4f25706db551d5e9 + languageName: node + linkType: hard + +"jws@npm:^3.2.2": + version: 3.2.2 + resolution: "jws@npm:3.2.2" + dependencies: + jwa: "npm:^1.4.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/e770704533d92df358adad7d1261fdecad4d7b66fa153ba80d047e03ca0f1f73007ce5ed3fbc04d2eba09ba6e7e6e645f351e08e5ab51614df1b0aa4f384dfff + languageName: node + linkType: hard + +"keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"kuler@npm:^2.0.0": + version: 2.0.0 + resolution: "kuler@npm:2.0.0" + checksum: 10c0/0a4e99d92ca373f8f74d1dc37931909c4d0d82aebc94cf2ba265771160fc12c8df34eaaac80805efbda367e2795cb1f1dd4c3d404b6b1cf38aec94035b503d2d + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"libphonenumber-js@npm:^1.10.53": + version: 1.11.12 + resolution: "libphonenumber-js@npm:1.11.12" + checksum: 10c0/56fdf7ce107bd9d0329c47392d21649ee61b5ef210fa5926cb839506195d8482760982c9f75c207e97cf070be8ef2edc5a81db7cc3623f46990222945f4e0f65 + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"loader-runner@npm:^4.2.0": + version: 4.3.0 + resolution: "loader-runner@npm:4.3.0" + checksum: 10c0/a44d78aae0907a72f73966fe8b82d1439c8c485238bd5a864b1b9a2a3257832effa858790241e6b37876b5446a78889adf2fcc8dd897ce54c089ecc0a0ce0bf0 + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.clonedeep@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.clonedeep@npm:4.5.0" + checksum: 10c0/2caf0e4808f319d761d2939ee0642fa6867a4bbf2cfce43276698828380756b99d4c4fa226d881655e6ac298dd453fe12a5ec8ba49861777759494c534936985 + languageName: node + linkType: hard + +"lodash.includes@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.includes@npm:4.3.0" + checksum: 10c0/7ca498b9b75bf602d04e48c0adb842dfc7d90f77bcb2a91a2b2be34a723ad24bc1c8b3683ec6b2552a90f216c723cdea530ddb11a3320e08fa38265703978f4b + languageName: node + linkType: hard + +"lodash.isboolean@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isboolean@npm:3.0.3" + checksum: 10c0/0aac604c1ef7e72f9a6b798e5b676606042401dd58e49f051df3cc1e3adb497b3d7695635a5cbec4ae5f66456b951fdabe7d6b387055f13267cde521f10ec7f7 + languageName: node + linkType: hard + +"lodash.isinteger@npm:^4.0.4": + version: 4.0.4 + resolution: "lodash.isinteger@npm:4.0.4" + checksum: 10c0/4c3e023a2373bf65bf366d3b8605b97ec830bca702a926939bcaa53f8e02789b6a176e7f166b082f9365bfec4121bfeb52e86e9040cb8d450e64c858583f61b7 + languageName: node + linkType: hard + +"lodash.isnumber@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isnumber@npm:3.0.3" + checksum: 10c0/2d01530513a1ee4f72dd79528444db4e6360588adcb0e2ff663db2b3f642d4bb3d687051ae1115751ca9082db4fdef675160071226ca6bbf5f0c123dbf0aa12d + languageName: node + linkType: hard + +"lodash.isplainobject@npm:^4.0.6": + version: 4.0.6 + resolution: "lodash.isplainobject@npm:4.0.6" + checksum: 10c0/afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb + languageName: node + linkType: hard + +"lodash.isstring@npm:^4.0.1": + version: 4.0.1 + resolution: "lodash.isstring@npm:4.0.1" + checksum: 10c0/09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 + languageName: node + linkType: hard + +"lodash.memoize@npm:4.x": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash.once@npm:^4.0.0": + version: 4.1.1 + resolution: "lodash.once@npm:4.1.1" + checksum: 10c0/46a9a0a66c45dd812fcc016e46605d85ad599fe87d71a02f6736220554b52ffbe82e79a483ad40f52a8a95755b0d1077fba259da8bfb6694a7abbf4a48f1fc04 + languageName: node + linkType: hard + +"lodash@npm:4.17.21, lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"log-symbols@npm:^4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 + languageName: node + linkType: hard + +"logform@npm:^2.3.2, logform@npm:^2.4.0": + version: 2.6.0 + resolution: "logform@npm:2.6.0" + dependencies: + "@colors/colors": "npm:1.6.0" + "@types/triple-beam": "npm:^1.3.2" + fecha: "npm:^4.2.0" + ms: "npm:^2.1.1" + safe-stable-stringify: "npm:^2.3.1" + triple-beam: "npm:^1.3.0" + checksum: 10c0/6e02f8617a03155b2fce451bacf777a2c01da16d32c4c745b3ec85be6c3f2602f2a4953a8bd096441cb4c42c447b52318541d6b6bc335dce903cb9ad77a1749f + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^10.2.0": + version: 10.2.0 + resolution: "lru-cache@npm:10.2.0" + checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 + languageName: node + linkType: hard + +"lru-cache@npm:^7.10.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: 10c0/b3a452b491433db885beed95041eb104c157ef7794b9c9b4d647be503be91769d11206bb573849a16b4cc0d03cbd15ffd22df7960997788b74c1d399ac7a4fed + languageName: node + linkType: hard + +"luxon@npm:~3.3.0": + version: 3.3.0 + resolution: "luxon@npm:3.3.0" + checksum: 10c0/47f8e1e96b25441c799b8aa833b3f007fb1854713bcffc8c3384eda8e61fc9af1f038474d137274d2d386492f341c8a8c992fc78c213adfb3143780feba2776c + languageName: node + linkType: hard + +"magic-string@npm:0.30.5": + version: 0.30.5 + resolution: "magic-string@npm:0.30.5" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + checksum: 10c0/38ac220ca7539e96da7ea2f38d85796bdf5c69b6bcae728c4bc2565084e6dc326b9174ee9770bea345cf6c9b3a24041b767167874fab5beca874d2356a9d1520 + languageName: node + linkType: hard + +"make-dir@npm:^3.1.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: "npm:^6.0.0" + checksum: 10c0/56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa + languageName: node + linkType: hard + +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 + languageName: node + linkType: hard + +"make-error@npm:1.x, make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: "npm:1.0.5" + checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 + languageName: node + linkType: hard + +"memfs@npm:^3.4.1": + version: 3.6.0 + resolution: "memfs@npm:3.6.0" + dependencies: + fs-monkey: "npm:^1.0.4" + checksum: 10c0/af567f9038bbb5bbacf100b35d5839e90a89f882d191d8a1c7002faeb224c6cfcebd0e97c0150e9af8be95ec7b5b75a52af56fcd109d0bc18807c1f4e004f053 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 10c0/b67d07bd44cfc45cebdec349bb6e1f7b077ee2fd5beb15d1f7af073849208cb6f144fe403e29a36571baf3f4e86469ac39acf13c318381e958e186b2766f54ec + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"methods@npm:^1.1.2, methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.0, micromatch@npm:^4.0.4": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: "npm:^3.0.2" + picomatch: "npm:^2.3.1" + checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 + languageName: node + linkType: hard + +"mime@npm:2.6.0": + version: 2.6.0 + resolution: "mime@npm:2.6.0" + bin: + mime: cli.js + checksum: 10c0/a7f2589900d9c16e3bdf7672d16a6274df903da958c1643c9c45771f0478f3846dcb1097f31eb9178452570271361e2149310931ec705c037210fc69639c8e6c + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^8.0.2": + version: 8.0.4 + resolution: "minimatch@npm:8.0.4" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/a0a394c356dd5b4cb7f821720841a82fa6f07c9c562c5b716909d1b6ec5e56a7e4c4b5029da26dd256b7d2b3a3f38cbf9ddd8680e887b9b5282b09c05501c1ca + languageName: node + linkType: hard + +"minimatch@npm:^9.0.1, minimatch@npm:^9.0.4": + version: 9.0.4 + resolution: "minimatch@npm:9.0.4" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/2c16f21f50e64922864e560ff97c587d15fd491f65d92a677a344e970fe62aafdbeafe648965fa96d33c061b4d0eabfe0213466203dd793367e7f28658cf6414 + languageName: node + linkType: hard + +"minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^4.2.4": + version: 4.2.8 + resolution: "minipass@npm:4.2.8" + checksum: 10c0/4ea76b030d97079f4429d6e8a8affd90baf1b6a1898977c8ccce4701c5a2ba2792e033abc6709373f25c2c4d4d95440d9d5e9464b46b7b76ca44d2ce26d939ce + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.4": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 + languageName: node + linkType: hard + +"minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 + languageName: node + linkType: hard + +"mkdirp@npm:^0.5.4": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: "npm:^1.2.6" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"mkdirp@npm:^2.1.3": + version: 2.1.6 + resolution: "mkdirp@npm:2.1.6" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/96f551c651dd8f5f9435d53df1a7b9bfc553be769ee6da5192c37c1f303a376ef1c6996f96913d4a8d357060451d4526a346031d1919f92c58806a5fa3cd8dfe + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"ms@npm:2.1.3, ms@npm:^2.1.1": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"multer@npm:1.4.4-lts.1": + version: 1.4.4-lts.1 + resolution: "multer@npm:1.4.4-lts.1" + dependencies: + append-field: "npm:^1.0.0" + busboy: "npm:^1.0.0" + concat-stream: "npm:^1.5.2" + mkdirp: "npm:^0.5.4" + object-assign: "npm:^4.1.1" + type-is: "npm:^1.6.4" + xtend: "npm:^4.0.0" + checksum: 10c0/63277d3483869f424274ef8ce6ab7ff4ce9d2c1cc69e707fc8b5d9b2b348ae6f742809e0b357a591dea885d147594bcd06528d3d6bbe32046115d4a7e126b954 + languageName: node + linkType: hard + +"mute-stream@npm:0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: 10c0/18d06d92e5d6d45e2b63c0e1b8f25376af71748ac36f53c059baa8b76ffac31c5ab225480494e7d35d30215ecdb18fed26ec23cafcd2f7733f2f14406bcd19e2 + languageName: node + linkType: hard + +"mute-stream@npm:1.0.0": + version: 1.0.0 + resolution: "mute-stream@npm:1.0.0" + checksum: 10c0/dce2a9ccda171ec979a3b4f869a102b1343dee35e920146776780de182f16eae459644d187e38d59a3d37adf85685e1c17c38cf7bfda7e39a9880f7a1d10a74c + languageName: node + linkType: hard + +"mz@npm:^2.4.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + +"nano-seconds@npm:^1.2.2": + version: 1.2.2 + resolution: "nano-seconds@npm:1.2.2" + checksum: 10c0/b594187e9325dc39eedddbc707a7251ab59cd36d3c1dcc32dc4dceb24cfafb7dfad929961311ad7a484382673f9d3a4cbcf9d764ee8f35ac00052f531fc0dd3e + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d + languageName: node + linkType: hard + +"node-abort-controller@npm:^3.0.1": + version: 3.1.1 + resolution: "node-abort-controller@npm:3.1.1" + checksum: 10c0/f7ad0e7a8e33809d4f3a0d1d65036a711c39e9d23e0319d80ebe076b9a3b4432b4d6b86a7fab65521de3f6872ffed36fc35d1327487c48eb88c517803403eda3 + languageName: node + linkType: hard + +"node-addon-api@npm:^5.0.0": + version: 5.1.0 + resolution: "node-addon-api@npm:5.1.0" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/0eb269786124ba6fad9df8007a149e03c199b3e5a3038125dfb3e747c2d5113d406a4e33f4de1ea600aa2339be1f137d55eba1a73ee34e5fff06c52a5c296d1d + languageName: node + linkType: hard + +"node-emoji@npm:1.11.0": + version: 1.11.0 + resolution: "node-emoji@npm:1.11.0" + dependencies: + lodash: "npm:^4.17.21" + checksum: 10c0/5dac6502dbef087092d041fcc2686d8be61168593b3a9baf964d62652f55a3a9c2277f171b81cccb851ccef33f2d070f45e633fab1fda3264f8e1ae9041c673f + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + +"node-forge@npm:^1.3.1": + version: 1.3.1 + resolution: "node-forge@npm:1.3.1" + checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a + languageName: node + linkType: hard + +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 + languageName: node + linkType: hard + +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: "npm:1" + bin: + nopt: bin/nopt.js + checksum: 10c0/fc5c4f07155cb455bf5fc3dd149fac421c1a40fd83c6bfe83aa82b52f02c17c5e88301321318adaa27611c8a6811423d51d29deaceab5fa158b585a61a551061 + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"npmlog@npm:^5.0.1": + version: 5.0.1 + resolution: "npmlog@npm:5.0.1" + dependencies: + are-we-there-yet: "npm:^2.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^3.0.0" + set-blocking: "npm:^2.0.0" + checksum: 10c0/489ba519031013001135c463406f55491a17fc7da295c18a04937fe3a4d523fd65e88dd418a28b967ab743d913fdeba1e29838ce0ad8c75557057c481f7d49fa + languageName: node + linkType: hard + +"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-hash@npm:3.0.0": + version: 3.0.0 + resolution: "object-hash@npm:3.0.0" + checksum: 10c0/a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.1": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 10c0/fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d + languageName: node + linkType: hard + +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"one-time@npm:^1.0.0": + version: 1.0.0 + resolution: "one-time@npm:1.0.0" + dependencies: + fn.name: "npm:1.x.x" + checksum: 10c0/6e4887b331edbb954f4e915831cbec0a7b9956c36f4feb5f6de98c448ac02ff881fd8d9b55a6b1b55030af184c6b648f340a76eb211812f4ad8c9b4b8692fdaa + languageName: node + linkType: hard + +"onetime@npm:^5.1.0, onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" + dependencies: + "@aashutoshrathi/word-wrap": "npm:^1.2.3" + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + checksum: 10c0/66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c + languageName: node + linkType: hard + +"ora@npm:5.4.1, ora@npm:^5.4.1": + version: 5.4.1 + resolution: "ora@npm:5.4.1" + dependencies: + bl: "npm:^4.1.0" + chalk: "npm:^4.1.0" + cli-cursor: "npm:^3.1.0" + cli-spinners: "npm:^2.5.0" + is-interactive: "npm:^1.0.0" + is-unicode-supported: "npm:^0.1.0" + log-symbols: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + wcwidth: "npm:^1.0.1" + checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 + languageName: node + linkType: hard + +"os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 10c0/f438450224f8e2687605a8dd318f0db694b6293c5d835ae509a69e97c8de38b6994645337e5577f5001115470414638978cc49da1cdcc25106dad8738dc69990 + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"pako@npm:^2.0.4": + version: 2.1.0 + resolution: "pako@npm:2.1.0" + checksum: 10c0/8e8646581410654b50eb22a5dfd71159cae98145bd5086c9a7a816ec0370b5f72b4648d08674624b3870a521e6a3daffd6c2f7bc00fdefc7063c9d8232ff5116 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"parse5-htmlparser2-tree-adapter@npm:^6.0.0": + version: 6.0.1 + resolution: "parse5-htmlparser2-tree-adapter@npm:6.0.1" + dependencies: + parse5: "npm:^6.0.1" + checksum: 10c0/dfa5960e2aaf125707e19a4b1bc333de49232eba5a6ffffb95d313a7d6087c3b7a274b58bee8d3bd41bdf150638815d1d601a42bbf2a0345208c3c35b1279556 + languageName: node + linkType: hard + +"parse5@npm:^5.1.1": + version: 5.1.1 + resolution: "parse5@npm:5.1.1" + checksum: 10c0/b0f87a77a7fea5f242e3d76917c983bbea47703b9371801d51536b78942db6441cbda174bf84eb30e47315ddc6f8a0b57d68e562c790154430270acd76c1fa03 + languageName: node + linkType: hard + +"parse5@npm:^6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 10c0/595821edc094ecbcfb9ddcb46a3e1fe3a718540f8320eff08b8cf6742a5114cce2d46d45f95c26191c11b184dcaf4e2960abcd9c5ed9eb9393ac9a37efcfdecb + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 + languageName: node + linkType: hard + +"passport-jwt@npm:^4.0.1": + version: 4.0.1 + resolution: "passport-jwt@npm:4.0.1" + dependencies: + jsonwebtoken: "npm:^9.0.0" + passport-strategy: "npm:^1.0.0" + checksum: 10c0/d7e2b472d399f596a1db31310f8e63d10777ab7468b9a378c964156e5f0a772598b007417356ead578cfdaf60dc2bba39a55f0033ca865186fdb2a2b198e2e7e + languageName: node + linkType: hard + +"passport-strategy@npm:1.x.x, passport-strategy@npm:^1.0.0": + version: 1.0.0 + resolution: "passport-strategy@npm:1.0.0" + checksum: 10c0/cf4cd32e1bf2538a239651581292fbb91ccc83973cde47089f00d2014c24bed63d3e65af21da8ddef649a8896e089eb9c3ac9ca639f36c797654ae9ee4ed65e1 + languageName: node + linkType: hard + +"passport@npm:^0.7.0": + version: 0.7.0 + resolution: "passport@npm:0.7.0" + dependencies: + passport-strategy: "npm:1.x.x" + pause: "npm:0.0.1" + utils-merge: "npm:^1.0.1" + checksum: 10c0/08c940b86e4adbfe43e753f8097300a5a9d1ce9a3aa002d7b12d27770943a1a87202c54597c0f04dbfd4117d67de76303433577512fc19c7e364fec37b0d3fc5 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^1.10.1, path-scurry@npm:^1.10.2, path-scurry@npm:^1.6.1": + version: 1.10.2 + resolution: "path-scurry@npm:1.10.2" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/d723777fbf9627f201e64656680f66ebd940957eebacf780e6cce1c2919c29c116678b2d7dbf8821b3a2caa758d125f4444005ccec886a25c8f324504e48e601 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 10c0/50a1ddb1af41a9e68bd67ca8e331a705899d16fb720a1ea3a41e310480948387daf603abb14d7b0826c58f10146d49050a1291ba6a82b78a382d1c02c0b8f905 + languageName: node + linkType: hard + +"path-to-regexp@npm:0.2.5": + version: 0.2.5 + resolution: "path-to-regexp@npm:0.2.5" + checksum: 10c0/947ffdd583390408a4814dcb921226fba363110a8245d22bd11c2bb1db323ad76b2e879f6dadc02bcf8c9c925b1556d5405c01a466dd28a93d84af5f62c51b79 + languageName: node + linkType: hard + +"path-to-regexp@npm:3.2.0": + version: 3.2.0 + resolution: "path-to-regexp@npm:3.2.0" + checksum: 10c0/2eeb1c698293acf6f89fe5af33b4c20822b3cee3e4e910c43bbee098c8dde34232fc194d5c2bc02df72affada446a181784e24f7a46932af323706be029ed1ba + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"pause@npm:0.0.1": + version: 0.0.1 + resolution: "pause@npm:0.0.1" + checksum: 10c0/f362655dfa7f44b946302c5a033148852ed5d05f744bd848b1c7eae6a543f743e79c7751ee896ba519fd802affdf239a358bb2ea5ca1b1c1e4e916279f83ab75 + languageName: node + linkType: hard + +"pg-cloudflare@npm:^1.1.1": + version: 1.1.1 + resolution: "pg-cloudflare@npm:1.1.1" + checksum: 10c0/a68b957f755be6af813d68ccaf4c906a000fd2ecb362cd281220052cc9e2f6c26da3b88792742387008c30b3bf0d2fa3a0eff04aeb8af4414023c99ae78e07bd + languageName: node + linkType: hard + +"pg-connection-string@npm:^2.6.4": + version: 2.6.4 + resolution: "pg-connection-string@npm:2.6.4" + checksum: 10c0/0d0b617df0fc6507bf6a94bdcd56c7a305788a1402d69bff9773350947c8f525d6d8136128065370749a3325e99658ae40fbdcce620fb8e60126181f0591a6a6 + languageName: node + linkType: hard + +"pg-int8@npm:1.0.1": + version: 1.0.1 + resolution: "pg-int8@npm:1.0.1" + checksum: 10c0/be6a02d851fc2a4ae3e9de81710d861de3ba35ac927268973eb3cb618873a05b9424656df464dd43bd7dc3fc5295c3f5b3c8349494f87c7af50ec59ef14e0b98 + languageName: node + linkType: hard + +"pg-pool@npm:^3.6.2": + version: 3.6.2 + resolution: "pg-pool@npm:3.6.2" + peerDependencies: + pg: ">=8.0" + checksum: 10c0/14c524549490954b5e48457a4b808df8f619f6deeb3b395b0cd184a8f4ed65a9273fe0697ba0341a41d6745af197f1437eb1cf51fff0cbbf5b0fb3852ebe5392 + languageName: node + linkType: hard + +"pg-protocol@npm:^1.6.1": + version: 1.6.1 + resolution: "pg-protocol@npm:1.6.1" + checksum: 10c0/7eadef4010ac0a3925c460be7332ca4098a5c6d5181725a62193fcfa800000ae6632d98d814f3989b42cf5fdc3b45e34c714a1959d29174e81e30730e140ae5f + languageName: node + linkType: hard + +"pg-types@npm:^2.1.0": + version: 2.2.0 + resolution: "pg-types@npm:2.2.0" + dependencies: + pg-int8: "npm:1.0.1" + postgres-array: "npm:~2.0.0" + postgres-bytea: "npm:~1.0.0" + postgres-date: "npm:~1.0.4" + postgres-interval: "npm:^1.1.0" + checksum: 10c0/ab3f8069a323f601cd2d2279ca8c425447dab3f9b61d933b0601d7ffc00d6200df25e26a4290b2b0783b59278198f7dd2ed03e94c4875797919605116a577c65 + languageName: node + linkType: hard + +"pg@npm:^8.11.3": + version: 8.11.5 + resolution: "pg@npm:8.11.5" + dependencies: + pg-cloudflare: "npm:^1.1.1" + pg-connection-string: "npm:^2.6.4" + pg-pool: "npm:^3.6.2" + pg-protocol: "npm:^1.6.1" + pg-types: "npm:^2.1.0" + pgpass: "npm:1.x" + peerDependencies: + pg-native: ">=3.0.1" + dependenciesMeta: + pg-cloudflare: + optional: true + peerDependenciesMeta: + pg-native: + optional: true + checksum: 10c0/20f29a41a99bad5931faf4d4a01e7be7fb27e5b5338fdfb06d2368e295c3d3d4ef49958ad57d2b17bad108e5c84574db6244ed8221e6b77a767f64ef12564119 + languageName: node + linkType: hard + +"pgpass@npm:1.x": + version: 1.0.5 + resolution: "pgpass@npm:1.0.5" + dependencies: + split2: "npm:^4.1.0" + checksum: 10c0/5ea6c9b2de04c33abb08d33a2dded303c4a3c7162a9264519cbe85c0a9857d712463140ba42fad0c7cd4b21f644dd870b45bb2e02fcbe505b4de0744fd802c1d + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 + languageName: node + linkType: hard + +"picomatch@npm:3.0.1": + version: 3.0.1 + resolution: "picomatch@npm:3.0.1" + checksum: 10c0/70ec738569f1864658378b7abdab8939d15dae0718c1df994eae3346fd33daf6a3c1ff4e0c1a0cd1e2c0319130985b63a2cff34d192f2f2acbb78aca76111736 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pirates@npm:^4.0.4": + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: "npm:^4.0.0" + checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 + languageName: node + linkType: hard + +"pluralize@npm:8.0.0": + version: 8.0.0 + resolution: "pluralize@npm:8.0.0" + checksum: 10c0/2044cfc34b2e8c88b73379ea4a36fc577db04f651c2909041b054c981cd863dd5373ebd030123ab058d194ae615d3a97cfdac653991e499d10caf592e8b3dc33 + languageName: node + linkType: hard + +"postgres-array@npm:~2.0.0": + version: 2.0.0 + resolution: "postgres-array@npm:2.0.0" + checksum: 10c0/cbd56207e4141d7fbf08c86f2aebf21fa7064943d3f808ec85f442ff94b48d891e7a144cc02665fb2de5dbcb9b8e3183a2ac749959e794b4a4cfd379d7a21d08 + languageName: node + linkType: hard + +"postgres-bytea@npm:~1.0.0": + version: 1.0.0 + resolution: "postgres-bytea@npm:1.0.0" + checksum: 10c0/febf2364b8a8953695cac159eeb94542ead5886792a9627b97e33f6b5bb6e263bc0706ab47ec221516e79fbd6b2452d668841830fb3b49ec6c0fc29be61892ce + languageName: node + linkType: hard + +"postgres-date@npm:~1.0.4": + version: 1.0.7 + resolution: "postgres-date@npm:1.0.7" + checksum: 10c0/0ff91fccc64003e10b767fcfeefb5eaffbc522c93aa65d5051c49b3c4ce6cb93ab091a7d22877a90ad60b8874202c6f1d0f935f38a7235ed3b258efd54b97ca9 + languageName: node + linkType: hard + +"postgres-interval@npm:^1.1.0": + version: 1.2.0 + resolution: "postgres-interval@npm:1.2.0" + dependencies: + xtend: "npm:^4.0.0" + checksum: 10c0/c1734c3cb79e7f22579af0b268a463b1fa1d084e742a02a7a290c4f041e349456f3bee3b4ee0bb3f226828597f7b76deb615c1b857db9a742c45520100456272 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: "npm:^1.1.2" + checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab + languageName: node + linkType: hard + +"prettier@npm:^2.3.2": + version: 2.8.8 + resolution: "prettier@npm:2.8.8" + bin: + prettier: bin-prettier.js + checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a + languageName: node + linkType: hard + +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"prompts@npm:^2.0.1": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"pure-rand@npm:^6.0.0": + version: 6.1.0 + resolution: "pure-rand@npm:6.1.0" + checksum: 10c0/1abe217897bf74dcb3a0c9aba3555fe975023147b48db540aa2faf507aee91c03bf54f6aef0eb2bf59cc259a16d06b28eca37f0dc426d94f4692aeff02fb0e65 + languageName: node + linkType: hard + +"qs@npm:6.11.0": + version: 6.11.0 + resolution: "qs@npm:6.11.0" + dependencies: + side-channel: "npm:^1.0.4" + checksum: 10c0/4e4875e4d7c7c31c233d07a448e7e4650f456178b9dd3766b7cfa13158fdb24ecb8c4f059fa91e820dc6ab9f2d243721d071c9c0378892dcdad86e9e9a27c68f + languageName: node + linkType: hard + +"qs@npm:^6.11.0, qs@npm:^6.11.2": + version: 6.12.0 + resolution: "qs@npm:6.12.0" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10c0/e165a77ac5f3ca60c15c5f3d51b321ddec7aa438804436b29d160117bc6fb7bf7dab94abd0c7d7c0785890d3a75ae41e1d6346e158aaf1540c6fe53a31f11675 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + unpipe: "npm:1.0.0" + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.2.0 + resolution: "react-is@npm:18.2.0" + checksum: 10c0/6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 + languageName: node + linkType: hard + +"readable-stream@npm:^2.2.2": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa + languageName: node + linkType: hard + +"readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: "npm:^1.1.6" + checksum: 10c0/22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 + languageName: node + linkType: hard + +"reflect-metadata@npm:^0.2.1": + version: 0.2.2 + resolution: "reflect-metadata@npm:0.2.2" + checksum: 10c0/1cd93a15ea291e420204955544637c264c216e7aac527470e393d54b4bb075f10a17e60d8168ec96600c7e0b9fcc0cb0bb6e91c3fbf5b0d8c9056f04e6ac1ec2 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 + languageName: node + linkType: hard + +"repeat-string@npm:^1.6.1": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: "npm:^5.0.0" + checksum: 10c0/e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"resolve.exports@npm:^2.0.0": + version: 2.0.2 + resolution: "resolve.exports@npm:2.0.2" + checksum: 10c0/cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 + languageName: node + linkType: hard + +"resolve@npm:^1.1.6, resolve@npm:^1.20.0": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + languageName: node + linkType: hard + +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rimraf@npm:4.4.1": + version: 4.4.1 + resolution: "rimraf@npm:4.4.1" + dependencies: + glob: "npm:^9.2.0" + bin: + rimraf: dist/cjs/src/bin.js + checksum: 10c0/8c5e142d26d8b222be9dc9a1a41ba48e95d8f374e813e66a8533e87c6180174fcb3f573b9b592eca12740ebf8b78526d136acd971d4a790763d6f2232c34fa24 + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"run-async@npm:^2.4.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: 10c0/35a68c8f1d9664f6c7c2e153877ca1d6e4f886e5ca067c25cdd895a6891ff3a1466ee07c63d6a9be306e9619ff7d509494e6d9c129516a36b9fd82263d579ee1 + languageName: node + linkType: hard + +"run-async@npm:^3.0.0": + version: 3.0.0 + resolution: "run-async@npm:3.0.0" + checksum: 10c0/b18b562ae37c3020083dcaae29642e4cc360c824fbfb6b7d50d809a9d5227bb986152d09310255842c8dce40526e82ca768f02f00806c91ba92a8dfa6159cb85 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"rxjs@npm:7.8.1, rxjs@npm:^7.5.5, rxjs@npm:^7.8.1": + version: 7.8.1 + resolution: "rxjs@npm:7.8.1" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/3c49c1ecd66170b175c9cacf5cef67f8914dcbc7cd0162855538d365c83fea631167cacb644b3ce533b2ea0e9a4d0b12175186985f89d75abe73dbd8f7f06f68 + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + +"safe-stable-stringify@npm:^2.3.1": + version: 2.4.3 + resolution: "safe-stable-stringify@npm:2.4.3" + checksum: 10c0/81dede06b8f2ae794efd868b1e281e3c9000e57b39801c6c162267eb9efda17bd7a9eafa7379e1f1cacd528d4ced7c80d7460ad26f62ada7c9e01dec61b2e768 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"schema-utils@npm:^3.1.1, schema-utils@npm:^3.2.0": + version: 3.3.0 + resolution: "schema-utils@npm:3.3.0" + dependencies: + "@types/json-schema": "npm:^7.0.8" + ajv: "npm:^6.12.5" + ajv-keywords: "npm:^3.5.2" + checksum: 10c0/fafdbde91ad8aa1316bc543d4b61e65ea86970aebbfb750bfb6d8a6c287a23e415e0e926c2498696b242f63af1aab8e585252637fabe811fd37b604351da6500 + languageName: node + linkType: hard + +"scrypt-js@npm:3.0.1": + version: 3.0.1 + resolution: "scrypt-js@npm:3.0.1" + checksum: 10c0/e2941e1c8b5c84c7f3732b0153fee624f5329fc4e772a06270ee337d4d2df4174b8abb5e6ad53804a29f53890ecbc78f3775a319323568c0313040c0e55f5b10 + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": + version: 7.6.0 + resolution: "semver@npm:7.6.0" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 10c0/fbfe717094ace0aa8d6332d7ef5ce727259815bd8d8815700853f4faf23aacbd7192522f0dc5af6df52ef4fa85a355ebd2f5d39f554bd028200d6cf481ab9b53 + languageName: node + linkType: hard + +"send@npm:0.18.0": + version: 0.18.0 + resolution: "send@npm:0.18.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10c0/0eb134d6a51fc13bbcb976a1f4214ea1e33f242fae046efc311e80aff66c7a43603e26a79d9d06670283a13000e51be6e0a2cb80ff0942eaf9f1cd30b7ae736a + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.0, serialize-javascript@npm:^6.0.1": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 + languageName: node + linkType: hard + +"serve-static@npm:1.15.0": + version: 1.15.0 + resolution: "serve-static@npm:1.15.0" + dependencies: + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.18.0" + checksum: 10c0/fa9f0e21a540a28f301258dfe1e57bb4f81cd460d28f0e973860477dd4acef946a1f41748b5bd41c73b621bea2029569c935faa38578fd34cd42a9b4947088ba + languageName: node + linkType: hard + +"server@workspace:.": + version: 0.0.0-use.local + resolution: "server@workspace:." + dependencies: + "@golevelup/ts-jest": "npm:^0.4.0" + "@mixin.dev/mixin-node-sdk": "npm:^7.0.8" + "@nestjs/axios": "npm:^3.0.2" + "@nestjs/cache-manager": "npm:^2.1.1" + "@nestjs/cli": "npm:^10.3.2" + "@nestjs/common": "npm:10.3.3" + "@nestjs/config": "npm:^3.2.0" + "@nestjs/core": "npm:10.2.10" + "@nestjs/event-emitter": "npm:^2.0.4" + "@nestjs/jwt": "npm:^10.0.3" + "@nestjs/passport": "npm:^10.0.0" + "@nestjs/platform-express": "npm:^10.2.10" + "@nestjs/platform-socket.io": "npm:^10.2.10" + "@nestjs/schedule": "npm:^3.0.1" + "@nestjs/schematics": "npm:^10.1.1" + "@nestjs/serve-static": "npm:^4.0.0" + "@nestjs/swagger": "npm:^7.1.17" + "@nestjs/terminus": "npm:^10.0.1" + "@nestjs/testing": "npm:^10.3.3" + "@nestjs/throttler": "npm:^5.1.2" + "@nestjs/typeorm": "npm:^10.0.1" + "@nestjs/websockets": "npm:^10.2.10" + "@types/bcrypt": "npm:^5.0.2" + "@types/cookie-parser": "npm:^1.4.3" + "@types/express": "npm:^4.17.13" + "@types/express-session": "npm:^1.17.7" + "@types/jest": "npm:^29.5.1" + "@types/node": "npm:^18.16.12" + "@types/passport-jwt": "npm:^3.0.10" + "@types/supertest": "npm:^2.0.15" + "@types/zxcvbn": "npm:^4.4.1" + "@typescript-eslint/eslint-plugin": "npm:^7.1.0" + "@typescript-eslint/parser": "npm:^7.1.0" + axios: "npm:^1.6.7" + bcrypt: "npm:^5.1.1" + bignumber.js: "npm:^9.1.2" + cache-manager: "npm:^4.0.0" + ccxt: "npm:^4.4.92" + class-transformer: "npm:^0.5.1" + class-validator: "npm:^0.14.1" + coingecko-api-v3: "npm:^0.0.29" + cookie-parser: "npm:^1.4.6" + decimal.js: "npm:^10.4.3" + dotenv: "npm:^16.3.1" + eslint: "npm:^8.0.1" + eslint-config-prettier: "npm:^9.0.0" + eslint-plugin-prettier: "npm:^4.0.0" + ethers: "npm:^5.7.2" + express: "npm:^4.18.2" + jest: "npm:^29.5.0" + jsonwebtoken: "npm:^9.0.2" + passport: "npm:^0.7.0" + passport-jwt: "npm:^4.0.1" + pg: "npm:^8.11.3" + prettier: "npm:^2.3.2" + socket.io: "npm:^4.7.3" + socket.io-client: "npm:^4.7.4" + source-map-support: "npm:^0.5.20" + supertest: "npm:^6.1.3" + swagger-ui-express: "npm:^5.0.0" + ts-jest: "npm:^29.1.1" + ts-loader: "npm:^9.2.3" + ts-node: "npm:^10.0.0" + tsconfig-paths: "npm:^4.2.0" + typeorm: "npm:^0.3.17" + typescript: "npm:^5.0.0" + uuid: "npm:^9.0.1" + winston: "npm:^3.12.0" + languageName: unknown + linkType: soft + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"sha.js@npm:^2.4.11": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + bin: + sha.js: ./bin.js + checksum: 10c0/b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shelljs@npm:0.8.5": + version: 0.8.5 + resolution: "shelljs@npm:0.8.5" + dependencies: + glob: "npm:^7.0.0" + interpret: "npm:^1.0.0" + rechoir: "npm:^0.6.2" + bin: + shjs: bin/shjs + checksum: 10c0/feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + object-inspect: "npm:^1.13.1" + checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"simple-swizzle@npm:^0.2.2": + version: 0.2.2 + resolution: "simple-swizzle@npm:0.2.2" + dependencies: + is-arrayish: "npm:^0.3.1" + checksum: 10c0/df5e4662a8c750bdba69af4e8263c5d96fe4cd0f9fe4bdfa3cbdeb45d2e869dff640beaaeb1ef0e99db4d8d2ec92f85508c269f50c972174851bc1ae5bd64308 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socket.io-adapter@npm:~2.5.2": + version: 2.5.4 + resolution: "socket.io-adapter@npm:2.5.4" + dependencies: + debug: "npm:~4.3.4" + ws: "npm:~8.11.0" + checksum: 10c0/839b50ba2a08a70ccf9b597b2f5e275a47c2f62fa423b1906249ab24facc7f2b7eeb695ef8bbfc3570ab769564fb9148d2608621800ef99917338fa9dd99e127 + languageName: node + linkType: hard + +"socket.io-client@npm:^4.7.4": + version: 4.7.5 + resolution: "socket.io-client@npm:4.7.5" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.2" + engine.io-client: "npm:~6.5.2" + socket.io-parser: "npm:~4.2.4" + checksum: 10c0/d5dc90ee63755fbbb0a1cb3faf575c9ce20d98e809a43a4c9c3ce03a56b8810335ae38e678ceb0650ac434d55e72ea6449c2e5d6db8bc7258f7c529148fac99d + languageName: node + linkType: hard + +"socket.io-parser@npm:~4.2.4": + version: 4.2.4 + resolution: "socket.io-parser@npm:4.2.4" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.1" + checksum: 10c0/9383b30358fde4a801ea4ec5e6860915c0389a091321f1c1f41506618b5cf7cd685d0a31c587467a0c4ee99ef98c2b99fb87911f9dfb329716c43b587f29ca48 + languageName: node + linkType: hard + +"socket.io@npm:4.7.5, socket.io@npm:^4.7.3": + version: 4.7.5 + resolution: "socket.io@npm:4.7.5" + dependencies: + accepts: "npm:~1.3.4" + base64id: "npm:~2.0.0" + cors: "npm:~2.8.5" + debug: "npm:~4.3.2" + engine.io: "npm:~6.5.2" + socket.io-adapter: "npm:~2.5.2" + socket.io-parser: "npm:~4.2.4" + checksum: 10c0/221a2cd25f6077d6672cb8b19921336e1acf06788d4bade74953dc96dbfd8b788a5f721b051341a34ee81ef8e1b2028d39ad5257516776400a3f8f3f01255c5e + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 + languageName: node + linkType: hard + +"source-map-support@npm:0.5.13": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e + languageName: node + linkType: hard + +"source-map-support@npm:0.5.21, source-map-support@npm:^0.5.20, source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:0.7.4, source-map@npm:^0.7.4": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"split2@npm:^4.1.0": + version: 4.2.0 + resolution: "split2@npm:4.2.0" + checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"stack-trace@npm:0.0.x": + version: 0.0.10 + resolution: "stack-trace@npm:0.0.10" + checksum: 10c0/9ff3dabfad4049b635a85456f927a075c9d0c210e3ea336412d18220b2a86cbb9b13ec46d6c37b70a302a4ea4d49e30e5d4944dd60ae784073f1cde778ac8f4b + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.3": + version: 2.0.6 + resolution: "stack-utils@npm:2.0.6" + dependencies: + escape-string-regexp: "npm:^2.0.0" + checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"streamsearch@npm:^1.1.0": + version: 1.1.0 + resolution: "streamsearch@npm:1.1.0" + checksum: 10c0/fbd9aecc2621364384d157f7e59426f4bfd385e8b424b5aaa79c83a6f5a1c8fd2e4e3289e95de1eb3511cb96bb333d6281a9919fafce760e4edb35b2cd2facab + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.2 + resolution: "string-length@npm:4.0.2" + dependencies: + char-regex: "npm:^1.0.2" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"superagent@npm:^8.1.2": + version: 8.1.2 + resolution: "superagent@npm:8.1.2" + dependencies: + component-emitter: "npm:^1.3.0" + cookiejar: "npm:^2.1.4" + debug: "npm:^4.3.4" + fast-safe-stringify: "npm:^2.1.1" + form-data: "npm:^4.0.0" + formidable: "npm:^2.1.2" + methods: "npm:^1.1.2" + mime: "npm:2.6.0" + qs: "npm:^6.11.0" + semver: "npm:^7.3.8" + checksum: 10c0/016416fc9c3d3a04fb648bc0efb3d3d5c9d96da00de47e4a625d9976d28c6c37ab0a7f185f2c3ec6d653ee8bb522f70fba0c1072aea7774341a6c0269a9fa77f + languageName: node + linkType: hard + +"supertest@npm:^6.1.3": + version: 6.3.4 + resolution: "supertest@npm:6.3.4" + dependencies: + methods: "npm:^1.1.2" + superagent: "npm:^8.1.2" + checksum: 10c0/f8c0b6c73b5e87da31feee6ccb36e7af766a438513cad89d6907f22c97edd83b1e765b4c8de955d5f7af4bca5fd0aaf9149ff48e21567dd290b326a8633af2a7 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"swagger-ui-dist@npm:5.11.2": + version: 5.11.2 + resolution: "swagger-ui-dist@npm:5.11.2" + checksum: 10c0/017c49258cca2159fb9adc0ee84722b630bc96bc0dacd7955af66b42007374b9f6ad9038c3da7a3539545a017839da46e7c60006f950e1379d8cbf5a1ffa6f71 + languageName: node + linkType: hard + +"swagger-ui-dist@npm:>=5.0.0": + version: 5.14.0 + resolution: "swagger-ui-dist@npm:5.14.0" + checksum: 10c0/bcaafe0698a30feb714f3d6918e382ac18616ff6f390aaa178f88e6084a1beaeea32f7e7bf765b5ef605362140aa8f124a50439661ac4ea40183b34fe8360506 + languageName: node + linkType: hard + +"swagger-ui-express@npm:^5.0.0": + version: 5.0.0 + resolution: "swagger-ui-express@npm:5.0.0" + dependencies: + swagger-ui-dist: "npm:>=5.0.0" + peerDependencies: + express: ">=4.0.0 || >=5.0.0-beta" + checksum: 10c0/9f4c1f249cc613d687a80a1d5c60e8acf69145aa7dd573138b19902a7556396b9b2e7262eab69764d7d0ef14ae6f50214e701bd01a18fcf3b7776589d78b1c0b + languageName: node + linkType: hard + +"symbol-observable@npm:4.0.0": + version: 4.0.0 + resolution: "symbol-observable@npm:4.0.0" + checksum: 10c0/5e9a3ab08263a6be8cbee76587ad5880dcc62a47002787ed5ebea56b1eb30dc87da6f0183d67e88286806799fbe21c69077fbd677be4be2188e92318d6c6f31d + languageName: node + linkType: hard + +"tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 10c0/bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 + languageName: node + linkType: hard + +"tar@npm:^6.1.11": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:^5.3.10": + version: 5.3.10 + resolution: "terser-webpack-plugin@npm:5.3.10" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.20" + jest-worker: "npm:^27.4.5" + schema-utils: "npm:^3.1.1" + serialize-javascript: "npm:^6.0.1" + terser: "npm:^5.26.0" + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: 10c0/66d1ed3174542560911cf96f4716aeea8d60e7caab212291705d50072b6ba844c7391442541b13c848684044042bea9ec87512b8506528c12854943da05faf91 + languageName: node + linkType: hard + +"terser@npm:^5.26.0": + version: 5.30.3 + resolution: "terser@npm:5.30.3" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/ab5a8afef2e7a3b12a0fd17f9ff984fe02aefa945985eb139ab9984280d523a1104021eda889a7f993b69a67574ceb8fd0db8b76e5efc6a7607246db51bcc0b6 + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": "npm:^0.1.2" + glob: "npm:^7.1.4" + minimatch: "npm:^3.0.4" + checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 + languageName: node + linkType: hard + +"text-hex@npm:1.0.x": + version: 1.0.0 + resolution: "text-hex@npm:1.0.0" + checksum: 10c0/57d8d320d92c79d7c03ffb8339b825bb9637c2cbccf14304309f51d8950015c44464b6fd1b6820a3d4821241c68825634f09f5a2d9d501e84f7c6fd14376860d + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + +"through@npm:^2.3.6": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.14 + resolution: "tinyglobby@npm:0.2.14" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6 + languageName: node + linkType: hard + +"tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: "npm:~1.0.2" + checksum: 10c0/69863947b8c29cabad43fe0ce65cec5bb4b481d15d4b4b21e036b060b3edbf3bc7a5541de1bacb437bb3f7c4538f669752627fdf9b4aaf034cebd172ba373408 + languageName: node + linkType: hard + +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + +"tree-kill@npm:1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2 + languageName: node + linkType: hard + +"triple-beam@npm:^1.3.0": + version: 1.4.1 + resolution: "triple-beam@npm:1.4.1" + checksum: 10c0/4bf1db71e14fe3ff1c3adbe3c302f1fdb553b74d7591a37323a7badb32dc8e9c290738996cbb64f8b10dc5a3833645b5d8c26221aaaaa12e50d1251c9aba2fea + languageName: node + linkType: hard + +"ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c + languageName: node + linkType: hard + +"ts-jest@npm:^29.1.1": + version: 29.1.2 + resolution: "ts-jest@npm:29.1.2" + dependencies: + bs-logger: "npm:0.x" + fast-json-stable-stringify: "npm:2.x" + jest-util: "npm:^29.0.0" + json5: "npm:^2.2.3" + lodash.memoize: "npm:4.x" + make-error: "npm:1.x" + semver: "npm:^7.5.3" + yargs-parser: "npm:^21.0.1" + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@jest/types": ^29.0.0 + babel-jest: ^29.0.0 + jest: ^29.0.0 + typescript: ">=4.3 <6" + peerDependenciesMeta: + "@babel/core": + optional: true + "@jest/types": + optional: true + babel-jest: + optional: true + esbuild: + optional: true + bin: + ts-jest: cli.js + checksum: 10c0/c2f51f0241f89d127d41392decbcb83b5dfd5e57ab9d50220aa7b7e2f9b3f3b07ccdbba33311284df1c41941879e4ddfad44b15a9d0da4b74bd1b98702b729df + languageName: node + linkType: hard + +"ts-loader@npm:^9.2.3": + version: 9.5.1 + resolution: "ts-loader@npm:9.5.1" + dependencies: + chalk: "npm:^4.1.0" + enhanced-resolve: "npm:^5.0.0" + micromatch: "npm:^4.0.0" + semver: "npm:^7.3.4" + source-map: "npm:^0.7.4" + peerDependencies: + typescript: "*" + webpack: ^5.0.0 + checksum: 10c0/7dc1e3e5d3d032b6ef27836032f02c57077dfbcdf5817cbbc16b7b8609e7ed1d0ec157a03eaac07960161d8ad4a9e030c4d6722fe33540cf6ee75156c7f9c33d + languageName: node + linkType: hard + +"ts-node@npm:^10.0.0": + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" + dependencies: + "@cspotcode/source-map-support": "npm:^0.8.0" + "@tsconfig/node10": "npm:^1.0.7" + "@tsconfig/node12": "npm:^1.0.7" + "@tsconfig/node14": "npm:^1.0.0" + "@tsconfig/node16": "npm:^1.0.2" + acorn: "npm:^8.4.1" + acorn-walk: "npm:^8.1.1" + arg: "npm:^4.1.0" + create-require: "npm:^1.1.0" + diff: "npm:^4.0.1" + make-error: "npm:^1.1.1" + v8-compile-cache-lib: "npm:^3.0.1" + yn: "npm:3.1.1" + 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 + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 + languageName: node + linkType: hard + +"tsconfig-paths-webpack-plugin@npm:4.1.0": + version: 4.1.0 + resolution: "tsconfig-paths-webpack-plugin@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + enhanced-resolve: "npm:^5.7.0" + tsconfig-paths: "npm:^4.1.2" + checksum: 10c0/c030e867e70a3f6d1799fdffa209c3a35e1435ad99aac01946b9ebb0fa8208b7b508c1dfe8c8e13d6a2ef70c75b4db062fbfd3c1f3362c69b6c65ffd4a50e226 + languageName: node + linkType: hard + +"tsconfig-paths@npm:4.2.0, tsconfig-paths@npm:^4.1.2, tsconfig-paths@npm:^4.2.0": + version: 4.2.0 + resolution: "tsconfig-paths@npm:4.2.0" + dependencies: + json5: "npm:^2.2.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/09a5877402d082bb1134930c10249edeebc0211f36150c35e1c542e5b91f1047b1ccf7da1e59babca1ef1f014c525510f4f870de7c9bda470c73bb4e2721b3ea + languageName: node + linkType: hard + +"tslib@npm:2.6.2, tslib@npm:^2.1.0, tslib@npm:^2.5.0": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-is@npm:^1.6.4, type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 + languageName: node + linkType: hard + +"typeorm@npm:^0.3.17": + version: 0.3.20 + resolution: "typeorm@npm:0.3.20" + dependencies: + "@sqltools/formatter": "npm:^1.2.5" + app-root-path: "npm:^3.1.0" + buffer: "npm:^6.0.3" + chalk: "npm:^4.1.2" + cli-highlight: "npm:^2.1.11" + dayjs: "npm:^1.11.9" + debug: "npm:^4.3.4" + dotenv: "npm:^16.0.3" + glob: "npm:^10.3.10" + mkdirp: "npm:^2.1.3" + reflect-metadata: "npm:^0.2.1" + sha.js: "npm:^2.4.11" + tslib: "npm:^2.5.0" + uuid: "npm:^9.0.0" + yargs: "npm:^17.6.2" + peerDependencies: + "@google-cloud/spanner": ^5.18.0 + "@sap/hana-client": ^2.12.25 + better-sqlite3: ^7.1.2 || ^8.0.0 || ^9.0.0 + hdb-pool: ^0.1.6 + ioredis: ^5.0.4 + mongodb: ^5.8.0 + mssql: ^9.1.1 || ^10.0.1 + mysql2: ^2.2.5 || ^3.0.1 + oracledb: ^6.3.0 + pg: ^8.5.1 + pg-native: ^3.0.0 + pg-query-stream: ^4.0.0 + redis: ^3.1.1 || ^4.0.0 + sql.js: ^1.4.0 + sqlite3: ^5.0.3 + ts-node: ^10.7.0 + typeorm-aurora-data-api-driver: ^2.0.0 + peerDependenciesMeta: + "@google-cloud/spanner": + optional: true + "@sap/hana-client": + optional: true + better-sqlite3: + optional: true + hdb-pool: + optional: true + ioredis: + optional: true + mongodb: + optional: true + mssql: + optional: true + mysql2: + optional: true + oracledb: + optional: true + pg: + optional: true + pg-native: + optional: true + pg-query-stream: + optional: true + redis: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + ts-node: + optional: true + typeorm-aurora-data-api-driver: + optional: true + bin: + typeorm: cli.js + typeorm-ts-node-commonjs: cli-ts-node-commonjs.js + typeorm-ts-node-esm: cli-ts-node-esm.js + checksum: 10c0/7e4be724641beef86ae36289c87b6e66bfaf19a4313f089926d36d2d6f0d67f9314d942711c9d83ab8a174b8622148c2f7e83e6c1448d638ee3ab24469257814 + languageName: node + linkType: hard + +"typescript@npm:5.3.3": + version: 5.3.3 + resolution: "typescript@npm:5.3.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/e33cef99d82573624fc0f854a2980322714986bc35b9cb4d1ce736ed182aeab78e2cb32b385efa493b2a976ef52c53e20d6c6918312353a91850e2b76f1ea44f + languageName: node + linkType: hard + +"typescript@npm:^5.0.0": + version: 5.4.4 + resolution: "typescript@npm:5.4.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/4d8de0291204ed61ca97ad0cba2ce064e09c4988ca1c451c787e4653ba76296ba35177a52694e8a00cf4ef899d0ee83338663b926d8b7d55167ff0ba81549999 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A5.3.3#optional!builtin": + version: 5.3.3 + resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/1d0a5f4ce496c42caa9a30e659c467c5686eae15d54b027ee7866744952547f1be1262f2d40de911618c242b510029d51d43ff605dba8fb740ec85ca2d3f9500 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.0.0#optional!builtin": + version: 5.4.4 + resolution: "typescript@patch:typescript@npm%3A5.4.4#optional!builtin::version=5.4.4&hash=5adc0c" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/1fa41b9964a9ff0ed913b339c90b46031b2d2da3cb1a192af516610733f7f1d5f7f9754a8e22b9ac7076d3d8aedd2c4f84db3f113bad060eac3a95962443a1bf + languageName: node + linkType: hard + +"uid@npm:2.0.2": + version: 2.0.2 + resolution: "uid@npm:2.0.2" + dependencies: + "@lukeed/csprng": "npm:^1.0.0" + checksum: 10c0/e9d02d0562c74e74b5a2519e586db9d7f8204978e476cddd191ee1a9efb85efafdbab2dbf3fc3dde0f5da01fd9da161f37d604dabf513447fd2c03d008f1324c + languageName: node + linkType: hard + +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.0.13": + version: 1.0.13 + resolution: "update-browserslist-db@npm:1.0.13" + dependencies: + escalade: "npm:^3.1.1" + picocolors: "npm:^1.0.0" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1, utils-merge@npm:^1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 + languageName: node + linkType: hard + +"uuid@npm:9.0.1, uuid@npm:^9.0.0, uuid@npm:^9.0.1": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b + languageName: node + linkType: hard + +"v8-compile-cache-lib@npm:^3.0.1": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^9.0.1": + version: 9.2.0 + resolution: "v8-to-istanbul@npm:9.2.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.12" + "@types/istanbul-lib-coverage": "npm:^2.0.1" + convert-source-map: "npm:^2.0.0" + checksum: 10c0/e691ba4dd0dea4a884e52c37dbda30cce6f9eeafe9b26721e449429c6bb0f4b6d1e33fabe7711d0f67f7a34c3bfd56c873f7375bba0b1534e6a2843ce99550e5 + languageName: node + linkType: hard + +"validator@npm:^13.9.0": + version: 13.12.0 + resolution: "validator@npm:13.12.0" + checksum: 10c0/21d48a7947c9e8498790550f56cd7971e0e3d724c73388226b109c1bac2728f4f88caddfc2f7ed4b076f9b0d004316263ac786a17e9c4edf075741200718cd32 + languageName: node + linkType: hard + +"vary@npm:^1, vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"walker@npm:^1.0.8": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: "npm:1.0.12" + checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e + languageName: node + linkType: hard + +"watchpack@npm:^2.4.0": + version: 2.4.1 + resolution: "watchpack@npm:2.4.1" + dependencies: + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.1.2" + checksum: 10c0/c694de0a61004e587a8a0fdc9cfec20ee692c52032d9ab2c2e99969a37fdab9e6e1bd3164ed506f9a13f7c83e65563d563e0d6b87358470cdb7309b83db78683 + languageName: node + linkType: hard + +"wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: "npm:^1.0.3" + checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + +"webpack-node-externals@npm:3.0.0": + version: 3.0.0 + resolution: "webpack-node-externals@npm:3.0.0" + checksum: 10c0/9f645a4dc8e122dac43cdc8c1367d4b44af20c79632438b633acc1b4fe64ea7ba1ad6ab61bd0fc46e1b873158c48d8c7a25a489cdab1f31299f00eb3b81cfc61 + languageName: node + linkType: hard + +"webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 10c0/2ef63d77c4fad39de4a6db17323d75eb92897b32674e97d76f0a1e87c003882fc038571266ad0ef581ac734cbe20952912aaa26155f1905e96ce251adbb1eb4e + languageName: node + linkType: hard + +"webpack@npm:5.90.1": + version: 5.90.1 + resolution: "webpack@npm:5.90.1" + dependencies: + "@types/eslint-scope": "npm:^3.7.3" + "@types/estree": "npm:^1.0.5" + "@webassemblyjs/ast": "npm:^1.11.5" + "@webassemblyjs/wasm-edit": "npm:^1.11.5" + "@webassemblyjs/wasm-parser": "npm:^1.11.5" + acorn: "npm:^8.7.1" + acorn-import-assertions: "npm:^1.9.0" + browserslist: "npm:^4.21.10" + chrome-trace-event: "npm:^1.0.2" + enhanced-resolve: "npm:^5.15.0" + es-module-lexer: "npm:^1.2.1" + eslint-scope: "npm:5.1.1" + events: "npm:^3.2.0" + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.2.9" + json-parse-even-better-errors: "npm:^2.3.1" + loader-runner: "npm:^4.2.0" + mime-types: "npm:^2.1.27" + neo-async: "npm:^2.6.2" + schema-utils: "npm:^3.2.0" + tapable: "npm:^2.1.1" + terser-webpack-plugin: "npm:^5.3.10" + watchpack: "npm:^2.4.0" + webpack-sources: "npm:^3.2.3" + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 10c0/c36b86e5aa42f07c865cc5221d88b84bc62267ca2e60edaf69e8fccebe284c8199d352701697546a0fa6599d648a05ea427607e854c61ccc269b9c230fb25efa + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"wide-align@npm:^1.1.2": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: "npm:^1.0.2 || 2 || 3 || 4" + checksum: 10c0/1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95 + languageName: node + linkType: hard + +"widest-line@npm:^3.1.0": + version: 3.1.0 + resolution: "widest-line@npm:3.1.0" + dependencies: + string-width: "npm:^4.0.0" + checksum: 10c0/b1e623adcfb9df35350dd7fc61295d6d4a1eaa65a406ba39c4b8360045b614af95ad10e05abf704936ed022569be438c4bfa02d6d031863c4166a238c301119f + languageName: node + linkType: hard + +"winston-transport@npm:^4.7.0": + version: 4.7.0 + resolution: "winston-transport@npm:4.7.0" + dependencies: + logform: "npm:^2.3.2" + readable-stream: "npm:^3.6.0" + triple-beam: "npm:^1.3.0" + checksum: 10c0/cd16f3d0ab56697f93c4899e0eb5f89690f291bb6cf309194819789326a7c7ed943ef00f0b2fab513b114d371314368bde1a7ae6252ad1516181a79f90199cd2 + languageName: node + linkType: hard + +"winston@npm:^3.12.0": + version: 3.13.0 + resolution: "winston@npm:3.13.0" + dependencies: + "@colors/colors": "npm:^1.6.0" + "@dabh/diagnostics": "npm:^2.0.2" + async: "npm:^3.2.3" + is-stream: "npm:^2.0.0" + logform: "npm:^2.4.0" + one-time: "npm:^1.0.0" + readable-stream: "npm:^3.4.0" + safe-stable-stringify: "npm:^2.3.1" + stack-trace: "npm:0.0.x" + triple-beam: "npm:^1.3.0" + winston-transport: "npm:^4.7.0" + checksum: 10c0/2c3cc7389a691e1638edcb0d4bfea72caa82d87d5681ec6131ac9bae780d94d06fb7b112edcd4ec37c8b947a1b64943941b761e34d67c6b0dac6e9c31ae4b25b + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^6.0.1, wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"write-file-atomic@npm:^4.0.2": + version: 4.0.2 + resolution: "write-file-atomic@npm:4.0.2" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.7" + checksum: 10c0/a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 + languageName: node + linkType: hard + +"ws@npm:7.4.6": + version: 7.4.6 + resolution: "ws@npm:7.4.6" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/4b44b59bbc0549c852fb2f0cdb48e40e122a1b6078aeed3d65557cbeb7d37dda7a4f0027afba2e6a7a695de17701226d02b23bd15c97b0837808c16345c62f8e + languageName: node + linkType: hard + +"ws@npm:^8.7.0, ws@npm:^8.8.1": + version: 8.16.0 + resolution: "ws@npm:8.16.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/a7783bb421c648b1e622b423409cb2a58ac5839521d2f689e84bc9dc41d59379c692dd405b15a997ea1d4c0c2e5314ad707332d0c558f15232d2bc07c0b4618a + languageName: node + linkType: hard + +"ws@npm:~8.11.0": + version: 8.11.0 + resolution: "ws@npm:8.11.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/b672b312f357afba8568b9dbb9e08b9e8a20845659b35fa6b340dc848efe371379f5e22bb1dc89c4b2940d5e2dc52dd1de85dde41776875fce115a448f94754f + languageName: node + linkType: hard + +"xmlhttprequest-ssl@npm:~2.0.0": + version: 2.0.0 + resolution: "xmlhttprequest-ssl@npm:2.0.0" + checksum: 10c0/b64ab371459bd5e3a4827e3c7535759047d285fd310aea6fd028973d547133f3be0d473c1fdae9f14d89bf509267759198ae1fbe89802079a7e217ddd990d734 + languageName: node + linkType: hard + +"xtend@npm:^4.0.0": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 + languageName: node + linkType: hard + +"yargs@npm:^16.0.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.0" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^20.2.2" + checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 + languageName: node + linkType: hard + +"yargs@npm:^17.3.1, yargs@npm:^17.6.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard From bbfb13dc63aef1f9b630f956760255ca1cb7b5d3 Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Wed, 24 Sep 2025 09:19:56 +0000 Subject: [PATCH 02/21] fix tests and lint --- .../modules/admin/strategy/adminStrategy.service.spec.ts | 2 ++ server/src/modules/spotdata/spotdata.service.spec.ts | 4 ++++ server/src/modules/strategy/strategy.controller.spec.ts | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/server/src/modules/admin/strategy/adminStrategy.service.spec.ts b/server/src/modules/admin/strategy/adminStrategy.service.spec.ts index 24ccd21b..e7c72ca5 100644 --- a/server/src/modules/admin/strategy/adminStrategy.service.spec.ts +++ b/server/src/modules/admin/strategy/adminStrategy.service.spec.ts @@ -153,6 +153,7 @@ describe('AdminStrategyService', () => { userId: 'user123', clientId: 'client123', pricePushRate: 0, + postOnlySide: 'buy', }, }; @@ -168,6 +169,7 @@ describe('AdminStrategyService', () => { startStrategyDto.volumeParams.userId, startStrategyDto.volumeParams.clientId, startStrategyDto.volumeParams.pricePushRate, + startStrategyDto.volumeParams.postOnlySide, ); }); diff --git a/server/src/modules/spotdata/spotdata.service.spec.ts b/server/src/modules/spotdata/spotdata.service.spec.ts index cba11593..c0f6763c 100644 --- a/server/src/modules/spotdata/spotdata.service.spec.ts +++ b/server/src/modules/spotdata/spotdata.service.spec.ts @@ -50,6 +50,8 @@ describe('SpotdataService', () => { const mockTickers: Tickers = { 'BTC/USDT': { symbol: 'BTC/USDT', + indexPrice: 0, + markPrice: 0, info: {}, timestamp: Date.now(), datetime: new Date().toISOString(), @@ -81,6 +83,8 @@ describe('SpotdataService', () => { ask: 0, last: 0, change: 0, + indexPrice: 0, + markPrice: 0, percentage: 2.0, baseVolume: 0, quoteVolume: 0, diff --git a/server/src/modules/strategy/strategy.controller.spec.ts b/server/src/modules/strategy/strategy.controller.spec.ts index 65716049..d47ed2bf 100644 --- a/server/src/modules/strategy/strategy.controller.spec.ts +++ b/server/src/modules/strategy/strategy.controller.spec.ts @@ -3,11 +3,13 @@ import { StrategyController } from './strategy.controller'; import { StrategyService } from './strategy.service'; import { StrategyUserService } from './strategy-user.service'; import { AdminStrategyService } from '../admin/strategy/adminStrategy.service'; +import { TimeIndicatorStrategyService } from './time-indicator.service'; const mockStrategyService = { // mock methods of StrategyService that are used by StrategyController }; const mockStrategyUserService = {}; +const mockTimeIndicatorStrategyService = {}; describe('StrategyController', () => { let controller: StrategyController; @@ -31,6 +33,10 @@ describe('StrategyController', () => { provide: StrategyUserService, useValue: mockStrategyUserService, // Use the mock StrategyService here }, + { + provide: TimeIndicatorStrategyService, + useValue: mockTimeIndicatorStrategyService, + }, ], }).compile(); From b513afece5cc0c31087070a9602accd21a4a8fdd Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Wed, 24 Sep 2025 09:23:02 +0000 Subject: [PATCH 03/21] disable db synchronize --- server/src/app.module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/app.module.ts b/server/src/app.module.ts index 424e8007..6dff8afd 100644 --- a/server/src/app.module.ts +++ b/server/src/app.module.ts @@ -128,7 +128,7 @@ dotenv.config(); GrowdataMarketMakingPair, IndicatorStrategyHistory, ], - synchronize: true, + synchronize: false, ssl: process.env.POSTGRES_SSL === 'true', }), ScheduleModule.forRoot(), From 127d88680bc92888766be40369960b218716e6ec Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Wed, 24 Sep 2025 09:48:50 +0000 Subject: [PATCH 04/21] update workflows --- .github/workflows/lint.yml | 42 ++++++++++++++++++++----------- .github/workflows/playwright.yml | 22 +++++++++++++--- .github/workflows/servertests.yml | 23 +++++++++++++++-- .github/workflows/vitest.yml | 23 +++++++++++++++-- 4 files changed, 88 insertions(+), 22 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 6a343995..8bf73899 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,21 +14,35 @@ jobs: node-version: [18.x] # Adjust node version as necessary steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 - with: - node-version: ${{ matrix.node-version }} + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} - - name: Install dependencies - run: | - make install + - name: Enable Corepack + run: corepack enable - - name: Lint interface - run: yarn lint - working-directory: ./interface + - name: Cache Yarn + uses: actions/cache@v3 + with: + path: | + .yarn/cache + .yarn/unplugged + .yarn/build-state.yml + .yarn/install-state.gz + key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- - - name: Lint server - run: yarn lint - working-directory: ./server + - name: Install dependencies + run: make install + + - name: Lint interface + run: yarn lint + working-directory: ./interface + + - name: Lint server + run: yarn lint + working-directory: ./server diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 35fe9c46..f80ce6b4 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -18,7 +18,6 @@ jobs: POSTGRES_USER: postgres ports: - 5432:5432 - # Set health checks to wait until postgres has started options: >- --health-cmd pg_isready --health-interval 10s @@ -32,7 +31,22 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 + + - name: Enable Corepack + run: corepack enable + + - name: Cache Yarn + uses: actions/cache@v3 + with: + path: | + .yarn/cache + .yarn/unplugged + .yarn/build-state.yml + .yarn/install-state.gz + key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- - name: Install dependencies run: make install @@ -84,11 +98,11 @@ jobs: ADMIN_PASSWORD: 123123 - name: Install Playwright Browsers - run: npx playwright install --with-deps + run: yarn dlx playwright install --with-deps working-directory: ./interface - name: Run Playwright tests - run: npx playwright test --project='chromium' + run: yarn dlx playwright test --project=chromium working-directory: ./interface env: PUBLIC_HUFI_BACKEND_URL: "http://localhost:3000" diff --git a/.github/workflows/servertests.yml b/.github/workflows/servertests.yml index af932cfd..f58c2aba 100644 --- a/.github/workflows/servertests.yml +++ b/.github/workflows/servertests.yml @@ -4,6 +4,7 @@ on: branches: [ main ] pull_request: branches: [ main ] + jobs: test: timeout-minutes: 60 @@ -14,10 +15,28 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: '18' + node-version: '22' + + - name: Enable Corepack + run: corepack enable + + - name: Cache Yarn + uses: actions/cache@v3 + with: + path: | + .yarn/cache + .yarn/unplugged + .yarn/build-state.yml + .yarn/install-state.gz + key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + - name: Install dependencies - run: yarn + run: yarn install --immutable + - name: Execute Unit tests run: yarn test diff --git a/.github/workflows/vitest.yml b/.github/workflows/vitest.yml index 3764122d..ac2ecff6 100644 --- a/.github/workflows/vitest.yml +++ b/.github/workflows/vitest.yml @@ -4,6 +4,7 @@ on: branches: [ main ] pull_request: branches: [ main ] + jobs: test: timeout-minutes: 60 @@ -14,10 +15,28 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: '18' + node-version: '22' + + - name: Enable Corepack + run: corepack enable + + - name: Cache Yarn + uses: actions/cache@v3 + with: + path: | + .yarn/cache + .yarn/unplugged + .yarn/build-state.yml + .yarn/install-state.gz + key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + - name: Install dependencies - run: yarn + run: yarn install --immutable + - name: Execute Unit tests run: yarn test:unit From 62a76761bf03ac4691be979a9b9e1b7e28b3ee4d Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Wed, 24 Sep 2025 09:55:46 +0000 Subject: [PATCH 05/21] update workflows to use latest yarn --- .github/workflows/lint.yml | 5 ++++- .github/workflows/playwright.yml | 5 ++++- .github/workflows/servertests.yml | 3 +++ .github/workflows/vitest.yml | 3 +++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 8bf73899..62848eb3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [18.x] # Adjust node version as necessary + node-version: [22] # Adjust node version as necessary steps: - uses: actions/checkout@v4 @@ -23,6 +23,9 @@ jobs: - name: Enable Corepack run: corepack enable + + - name: Prepare Yarn 4.9.1 + run: corepack prepare yarn@4.9.1 --activate - name: Cache Yarn uses: actions/cache@v3 diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index f80ce6b4..059116ca 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -36,6 +36,9 @@ jobs: - name: Enable Corepack run: corepack enable + - name: Prepare Yarn 4.9.1 + run: corepack prepare yarn@4.9.1 --activate + - name: Cache Yarn uses: actions/cache@v3 with: @@ -116,7 +119,7 @@ jobs: - name: Upload Playwright test artifacts if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: playwright-report path: ./interface/playwright-report/ diff --git a/.github/workflows/servertests.yml b/.github/workflows/servertests.yml index f58c2aba..0d2fb9f1 100644 --- a/.github/workflows/servertests.yml +++ b/.github/workflows/servertests.yml @@ -22,6 +22,9 @@ jobs: - name: Enable Corepack run: corepack enable + + - name: Prepare Yarn 4.9.1 + run: corepack prepare yarn@4.9.1 --activate - name: Cache Yarn uses: actions/cache@v3 diff --git a/.github/workflows/vitest.yml b/.github/workflows/vitest.yml index ac2ecff6..53bf0e32 100644 --- a/.github/workflows/vitest.yml +++ b/.github/workflows/vitest.yml @@ -22,6 +22,9 @@ jobs: - name: Enable Corepack run: corepack enable + + - name: Prepare Yarn 4.9.1 + run: corepack prepare yarn@4.9.1 --activate - name: Cache Yarn uses: actions/cache@v3 From 44c6464336e3eb7f3cc3fd84c2bfc721eb1df2e7 Mon Sep 17 00:00:00 2001 From: Faouzi JEDIDI Date: Thu, 25 Sep 2025 15:46:10 +0400 Subject: [PATCH 06/21] fix reflect-metadata issue --- server/package.json | 16 +- server/yarn.lock | 2179 ++++++++++++++++++++++++++++--------------- 2 files changed, 1451 insertions(+), 744 deletions(-) diff --git a/server/package.json b/server/package.json index 5077433b..f1190f66 100644 --- a/server/package.json +++ b/server/package.json @@ -56,7 +56,7 @@ "cache-manager": "^4.0.0", "ccxt": "^4.4.92", "class-transformer": "^0.5.1", - "class-validator": "^0.14.1", + "class-validator": "^0.14.2", "coingecko-api-v3": "^0.0.29", "cookie-parser": "^1.4.6", "decimal.js": "^10.4.3", @@ -66,7 +66,9 @@ "jsonwebtoken": "^9.0.2", "passport": "^0.7.0", "passport-jwt": "^4.0.1", - "pg": "^8.11.3", + "pg": "^8.16.3", + "reflect-metadata": "0.1.13", + "rxjs": "^7.8.2", "socket.io": "^4.7.3", "socket.io-client": "^4.7.4", "swagger-ui-express": "^5.0.0", @@ -75,26 +77,30 @@ "winston": "^3.12.0" }, "devDependencies": { + "@babel/core": "^7.28.4", "@golevelup/ts-jest": "^0.4.0", "@nestjs/cli": "^10.3.2", "@nestjs/schematics": "^10.1.1", "@nestjs/testing": "^10.3.3", + "@types/babel__core": "^7", "@types/bcrypt": "^5.0.2", "@types/express": "^4.17.13", - "@types/jest": "^29.5.1", + "@types/jest": "^30.0.0", "@types/node": "^18.16.12", + "@types/pg": "^8.15.5", "@types/supertest": "^2.0.15", "@types/zxcvbn": "^4.4.1", "@typescript-eslint/eslint-plugin": "^7.1.0", "@typescript-eslint/parser": "^7.1.0", + "babel-jest": "^30.1.2", "eslint": "^8.0.1", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", + "jest": "^30.1.3", "prettier": "^2.3.2", "source-map-support": "^0.5.20", "supertest": "^6.1.3", - "ts-jest": "^29.1.1", + "ts-jest": "^29.4.4", "ts-loader": "^9.2.3", "ts-node": "^10.0.0", "tsconfig-paths": "^4.2.0", diff --git a/server/yarn.lock b/server/yarn.lock index 1b705f8d..f1e6605b 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -70,7 +70,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.1, @babel/code-frame@npm:^7.24.2": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.1, @babel/code-frame@npm:^7.24.2": version: 7.24.2 resolution: "@babel/code-frame@npm:7.24.2" dependencies: @@ -80,6 +80,17 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.27.1" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.23.5": version: 7.24.4 resolution: "@babel/compat-data@npm:7.24.4" @@ -87,7 +98,14 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9": +"@babel/compat-data@npm:^7.27.2": + version: 7.28.4 + resolution: "@babel/compat-data@npm:7.28.4" + checksum: 10c0/9d346471e0a016641df9a325f42ad1e8324bbdc0243ce4af4dd2b10b974128590da9eb179eea2c36647b9bb987343119105e96773c1f6981732cd4f87e5a03b9 + languageName: node + linkType: hard + +"@babel/core@npm:^7.23.9": version: 7.24.4 resolution: "@babel/core@npm:7.24.4" dependencies: @@ -110,7 +128,30 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.24.1, @babel/generator@npm:^7.24.4, @babel/generator@npm:^7.7.2": +"@babel/core@npm:^7.27.4, @babel/core@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/core@npm:7.28.4" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.3" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-module-transforms": "npm:^7.28.3" + "@babel/helpers": "npm:^7.28.4" + "@babel/parser": "npm:^7.28.4" + "@babel/template": "npm:^7.27.2" + "@babel/traverse": "npm:^7.28.4" + "@babel/types": "npm:^7.28.4" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/ef5a6c3c6bf40d3589b5593f8118cfe2602ce737412629fb6e26d595be2fcbaae0807b43027a5c42ec4fba5b895ff65891f2503b5918c8a3ea3542ab44d4c278 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.24.1, @babel/generator@npm:^7.24.4": version: 7.24.4 resolution: "@babel/generator@npm:7.24.4" dependencies: @@ -122,6 +163,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.27.5, @babel/generator@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/generator@npm:7.28.3" + dependencies: + "@babel/parser": "npm:^7.28.3" + "@babel/types": "npm:^7.28.2" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/0ff58bcf04f8803dcc29479b547b43b9b0b828ec1ee0668e92d79f9e90f388c28589056637c5ff2fd7bcf8d153c990d29c448d449d852bf9d1bc64753ca462bc + languageName: node + linkType: hard + "@babel/helper-compilation-targets@npm:^7.23.6": version: 7.23.6 resolution: "@babel/helper-compilation-targets@npm:7.23.6" @@ -135,6 +189,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" + dependencies: + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 + languageName: node + linkType: hard + "@babel/helper-environment-visitor@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-environment-visitor@npm:7.22.20" @@ -152,6 +219,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232 + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-hoist-variables@npm:7.22.5" @@ -170,6 +244,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.23.3": version: 7.23.3 resolution: "@babel/helper-module-transforms@npm:7.23.3" @@ -185,13 +269,33 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.8.0": +"@babel/helper-module-transforms@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/helper-module-transforms@npm:7.28.3" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/549be62515a6d50cd4cfefcab1b005c47f89bd9135a22d602ee6a5e3a01f27571868ada10b75b033569f24dc4a2bb8d04bfa05ee75c16da7ade2d0db1437fcdb + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.24.0 resolution: "@babel/helper-plugin-utils@npm:7.24.0" checksum: 10c0/90f41bd1b4dfe7226b1d33a4bb745844c5c63e400f9e4e8bf9103a7ceddd7d425d65333b564d9daba3cebd105985764d51b4bd4c95822b97c2e3ac1201a8a5da languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b + languageName: node + linkType: hard + "@babel/helper-simple-access@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-simple-access@npm:7.22.5" @@ -245,6 +349,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + "@babel/helpers@npm:^7.24.4": version: 7.24.4 resolution: "@babel/helpers@npm:7.24.4" @@ -256,6 +367,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" + dependencies: + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.4" + checksum: 10c0/aaa5fb8098926dfed5f223adf2c5e4c7fbba4b911b73dfec2d7d3083f8ba694d201a206db673da2d9b3ae8c01793e795767654558c450c8c14b4c2175b4fcb44 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.24.2": version: 7.24.2 resolution: "@babel/highlight@npm:7.24.2" @@ -268,7 +389,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1, @babel/parser@npm:^7.24.4": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1, @babel/parser@npm:^7.24.4": version: 7.24.4 resolution: "@babel/parser@npm:7.24.4" bin: @@ -277,6 +398,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.3, @babel/parser@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/parser@npm:7.28.4" + dependencies: + "@babel/types": "npm:^7.28.4" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/58b239a5b1477ac7ed7e29d86d675cc81075ca055424eba6485872626db2dc556ce63c45043e5a679cd925e999471dba8a3ed4864e7ab1dbf64306ab72c52707 + languageName: node + linkType: hard + "@babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -299,7 +431,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.8.3": +"@babel/plugin-syntax-class-properties@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -310,7 +442,29 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.8.3": +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: @@ -332,18 +486,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.24.1 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.1" +"@babel/plugin-syntax-jsx@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6cec76fbfe6ca81c9345c2904d8d9a8a0df222f9269f0962ed6eb2eb8f3f10c2f15e993d1ef09dbaf97726bf1792b5851cf5bd9a769f966a19448df6be95d19a + checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: @@ -365,7 +519,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -409,7 +563,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.8.3": +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -420,14 +585,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.24.1 - resolution: "@babel/plugin-syntax-typescript@npm:7.24.1" +"@babel/plugin-syntax-typescript@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7a81e277dcfe3138847e8e5944e02a42ff3c2e864aea6f33fd9b70d1556d12b0e70f0d56cc1985d353c91bcbf8fe163e6cc17418da21129b7f7f1d8b9ac00c93 + checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d languageName: node linkType: hard @@ -440,7 +605,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0": version: 7.24.0 resolution: "@babel/template@npm:7.24.0" dependencies: @@ -451,6 +616,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.24.1": version: 7.24.1 resolution: "@babel/traverse@npm:7.24.1" @@ -469,7 +645,22 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.3.3": +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/traverse@npm:7.28.4" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.3" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.4" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.4" + debug: "npm:^4.3.1" + checksum: 10c0/ee678fdd49c9f54a32e07e8455242390d43ce44887cea6567b233fe13907b89240c377e7633478a32c6cf1be0e17c2f7f3b0c59f0666e39c5074cc47b968489c + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0": version: 7.24.0 resolution: "@babel/types@npm:7.24.0" dependencies: @@ -480,6 +671,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/types@npm:7.28.4" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/ac6f909d6191319e08c80efbfac7bd9a25f80cc83b43cd6d82e7233f7a6b9d6e7b90236f3af7400a3f83b576895bcab9188a22b584eb0f224e80e6d4e95f4517 + languageName: node + linkType: hard + "@babel/types@npm:^7.8.3": version: 7.27.3 resolution: "@babel/types@npm:7.27.3" @@ -531,6 +732,34 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:^1.4.3": + version: 1.5.0 + resolution: "@emnapi/core@npm:1.5.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.1.0" + tslib: "npm:^2.4.0" + checksum: 10c0/52ba3485277706d92fa27d92b37e5b4f6ef0742c03ed68f8096f294c6bfa30f0752c82d4c2bfa14bff4dc30d63c9f71a8f9fb64a92743d00807d9e468fafd5ff + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.4.3": + version: 1.5.0 + resolution: "@emnapi/runtime@npm:1.5.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/a85c9fc4e3af49cbe41e5437e5be2551392a931910cd0a5b5d3572532786927810c9cc1db11b232ec8f9657b33d4e6f7c4f985f1a052917d7cd703b5b2a20faa + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.1.0": + version: 1.1.0 + resolution: "@emnapi/wasi-threads@npm:1.1.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/e6d54bf2b1e64cdd83d2916411e44e579b6ae35d5def0dea61a3c452d9921373044dff32a8b8473ae60c80692bdc39323e98b96a3f3d87ba6886b24dd0ef7ca1 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -1050,233 +1279,279 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/console@npm:29.7.0" +"@jest/console@npm:30.1.2": + version: 30.1.2 + resolution: "@jest/console@npm:30.1.2" dependencies: - "@jest/types": "npm:^29.6.3" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - chalk: "npm:^4.0.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" + chalk: "npm:^4.1.2" + jest-message-util: "npm:30.1.0" + jest-util: "npm:30.0.5" slash: "npm:^3.0.0" - checksum: 10c0/7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c + checksum: 10c0/108c8d891955f97ecfb8a687ce8e5ce2d0bcc59ef4b5400ae219fb5183f4b35a0dd1ba3429bbe9abe9a5134a8f8e1ce89f09f2e2758487028eb339406df58b05 languageName: node linkType: hard -"@jest/core@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/core@npm:29.7.0" +"@jest/core@npm:30.1.3": + version: 30.1.3 + resolution: "@jest/core@npm:30.1.3" dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/reporters": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" + "@jest/console": "npm:30.1.2" + "@jest/pattern": "npm:30.0.1" + "@jest/reporters": "npm:30.1.3" + "@jest/test-result": "npm:30.1.3" + "@jest/transform": "npm:30.1.2" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-changed-files: "npm:^29.7.0" - jest-config: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-resolve-dependencies: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" + ansi-escapes: "npm:^4.3.2" + chalk: "npm:^4.1.2" + ci-info: "npm:^4.2.0" + exit-x: "npm:^0.2.2" + graceful-fs: "npm:^4.2.11" + jest-changed-files: "npm:30.0.5" + jest-config: "npm:30.1.3" + jest-haste-map: "npm:30.1.0" + jest-message-util: "npm:30.1.0" + jest-regex-util: "npm:30.0.1" + jest-resolve: "npm:30.1.3" + jest-resolve-dependencies: "npm:30.1.3" + jest-runner: "npm:30.1.3" + jest-runtime: "npm:30.1.3" + jest-snapshot: "npm:30.1.2" + jest-util: "npm:30.0.5" + jest-validate: "npm:30.1.0" + jest-watcher: "npm:30.1.3" + micromatch: "npm:^4.0.8" + pretty-format: "npm:30.0.5" slash: "npm:^3.0.0" - strip-ansi: "npm:^6.0.0" peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true - checksum: 10c0/934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 + checksum: 10c0/0f934a027b969daebe8e44ba3127a80c2ac1a65becc16b1f9d5a072718d950ce3c1910ce0675a98d5ef1777014e842b5bf6dd736fb9c6442a22ebfd326ae50c5 languageName: node linkType: hard -"@jest/environment@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/environment@npm:29.7.0" +"@jest/diff-sequences@npm:30.0.1": + version: 30.0.1 + resolution: "@jest/diff-sequences@npm:30.0.1" + checksum: 10c0/3a840404e6021725ef7f86b11f7b2d13dd02846481264db0e447ee33b7ee992134e402cdc8b8b0ac969d37c6c0183044e382dedee72001cdf50cfb3c8088de74 + languageName: node + linkType: hard + +"@jest/environment@npm:30.1.2": + version: 30.1.2 + resolution: "@jest/environment@npm:30.1.2" dependencies: - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" + "@jest/fake-timers": "npm:30.1.2" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - checksum: 10c0/c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 + jest-mock: "npm:30.0.5" + checksum: 10c0/41ac75f75d37f76cf89d97df55da107972068e8e4d4fa230bef5119b0efcb8a9feaca405a776bcbe7207f9c162990d41894636c793d3a9f0b9708e7c8ef57c6e languageName: node linkType: hard -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" +"@jest/expect-utils@npm:30.1.2": + version: 30.1.2 + resolution: "@jest/expect-utils@npm:30.1.2" dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a + "@jest/get-type": "npm:30.1.0" + checksum: 10c0/5b6c4d400ad0bd22960bd77750baf55b24bf1ebdc2cec328afe275967db76bf94f797ca4c9817cdb86bc7820b9219d3f493705f3fa94fe7720960e47805a8e1b languageName: node linkType: hard -"@jest/expect@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect@npm:29.7.0" +"@jest/expect@npm:30.1.2": + version: 30.1.2 + resolution: "@jest/expect@npm:30.1.2" dependencies: - expect: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - checksum: 10c0/b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e + expect: "npm:30.1.2" + jest-snapshot: "npm:30.1.2" + checksum: 10c0/e441639d902f8a9e894e856b98378cf2b14b102c04df160203482087e06a1bdbb961beb5c021012946dfa72019594e7dd0456fb5a1572f1f4d8f16475b44b0b3 languageName: node linkType: hard -"@jest/fake-timers@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/fake-timers@npm:29.7.0" +"@jest/fake-timers@npm:30.1.2": + version: 30.1.2 + resolution: "@jest/fake-timers@npm:30.1.2" dependencies: - "@jest/types": "npm:^29.6.3" - "@sinonjs/fake-timers": "npm:^10.0.2" + "@jest/types": "npm:30.0.5" + "@sinonjs/fake-timers": "npm:^13.0.0" "@types/node": "npm:*" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c + jest-message-util: "npm:30.1.0" + jest-mock: "npm:30.0.5" + jest-util: "npm:30.0.5" + checksum: 10c0/043ac3b5d60041550d86be9f178caf6146a579fb7a6b10b497e9f8c46a9198c1c5f4a8a2177cd5a128e1fa4ba252dfcaa13b1975ef180fa941551efe126f4b61 languageName: node linkType: hard -"@jest/globals@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/globals@npm:29.7.0" +"@jest/get-type@npm:30.1.0": + version: 30.1.0 + resolution: "@jest/get-type@npm:30.1.0" + checksum: 10c0/3e65fd5015f551c51ec68fca31bbd25b466be0e8ee8075d9610fa1c686ea1e70a942a0effc7b10f4ea9a338c24337e1ad97ff69d3ebacc4681b7e3e80d1b24ac + languageName: node + linkType: hard + +"@jest/globals@npm:30.1.2": + version: 30.1.2 + resolution: "@jest/globals@npm:30.1.2" dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - jest-mock: "npm:^29.7.0" - checksum: 10c0/a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea + "@jest/environment": "npm:30.1.2" + "@jest/expect": "npm:30.1.2" + "@jest/types": "npm:30.0.5" + jest-mock: "npm:30.0.5" + checksum: 10c0/f743e83d5be14bfff171b04fa59a1d624a6f7086e6472e83c8e6a5d156e91e2ac076a826063ef4dc3045df453108aed4f17baa888d74a0aeb71517ded0791cfd languageName: node linkType: hard -"@jest/reporters@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/reporters@npm:29.7.0" +"@jest/pattern@npm:30.0.1": + version: 30.0.1 + resolution: "@jest/pattern@npm:30.0.1" + dependencies: + "@types/node": "npm:*" + jest-regex-util: "npm:30.0.1" + checksum: 10c0/32c5a7bfb6c591f004dac0ed36d645002ed168971e4c89bd915d1577031672870032594767557b855c5bc330aa1e39a2f54bf150d2ee88a7a0886e9cb65318bc + languageName: node + linkType: hard + +"@jest/reporters@npm:30.1.3": + version: 30.1.3 + resolution: "@jest/reporters@npm:30.1.3" dependencies: "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" + "@jest/console": "npm:30.1.2" + "@jest/test-result": "npm:30.1.3" + "@jest/transform": "npm:30.1.2" + "@jest/types": "npm:30.0.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" "@types/node": "npm:*" - chalk: "npm:^4.0.0" - collect-v8-coverage: "npm:^1.0.0" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" + chalk: "npm:^4.1.2" + collect-v8-coverage: "npm:^1.0.2" + exit-x: "npm:^0.2.2" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.11" istanbul-lib-coverage: "npm:^3.0.0" istanbul-lib-instrument: "npm:^6.0.0" istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" + istanbul-lib-source-maps: "npm:^5.0.0" istanbul-reports: "npm:^3.1.3" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" + jest-message-util: "npm:30.1.0" + jest-util: "npm:30.0.5" + jest-worker: "npm:30.1.0" slash: "npm:^3.0.0" - string-length: "npm:^4.0.1" - strip-ansi: "npm:^6.0.0" + string-length: "npm:^4.0.2" v8-to-istanbul: "npm:^9.0.1" peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true - checksum: 10c0/a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 + checksum: 10c0/2b027e775216804b4f3766105bd4eb3e8e31480f78cc9a409ae7d335cc21883f5bd063c66215c0bc18cbcdda98824d1b02e74593f6464caf8920f0804ce706bb languageName: node linkType: hard -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" +"@jest/schemas@npm:30.0.5": + version: 30.0.5 + resolution: "@jest/schemas@npm:30.0.5" dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + "@sinclair/typebox": "npm:^0.34.0" + checksum: 10c0/449dcd7ec5c6505e9ac3169d1143937e67044ae3e66a729ce4baf31812dfd30535f2b3b2934393c97cfdf5984ff581120e6b38f62b8560c8b5b7cc07f4175f65 languageName: node linkType: hard -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" +"@jest/snapshot-utils@npm:30.1.2": + version: 30.1.2 + resolution: "@jest/snapshot-utils@npm:30.1.2" dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.2.9" - checksum: 10c0/a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 + "@jest/types": "npm:30.0.5" + chalk: "npm:^4.1.2" + graceful-fs: "npm:^4.2.11" + natural-compare: "npm:^1.4.0" + checksum: 10c0/bb5bbb3b3d0560ed1bf9439eb14280c80ead6534b7a985dbbfc656940ca140431f0719bdb7051df2a5fa897e7166f5c1902481dc57938fd6bb22b08ee7d6e09b languageName: node linkType: hard -"@jest/test-result@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-result@npm:29.7.0" +"@jest/source-map@npm:30.0.1": + version: 30.0.1 + resolution: "@jest/source-map@npm:30.0.1" dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - collect-v8-coverage: "npm:^1.0.0" - checksum: 10c0/7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 + "@jridgewell/trace-mapping": "npm:^0.3.25" + callsites: "npm:^3.1.0" + graceful-fs: "npm:^4.2.11" + checksum: 10c0/e7bda2786fc9f483d9dd7566c58c4bd948830997be862dfe80a3ae5550ff3f84753abb52e705d02ebe9db9f34ba7ebec4c2db11882048cdeef7a66f6332b3897 languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-sequencer@npm:29.7.0" +"@jest/test-result@npm:30.1.3": + version: 30.1.3 + resolution: "@jest/test-result@npm:30.1.3" dependencies: - "@jest/test-result": "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" + "@jest/console": "npm:30.1.2" + "@jest/types": "npm:30.0.5" + "@types/istanbul-lib-coverage": "npm:^2.0.6" + collect-v8-coverage: "npm:^1.0.2" + checksum: 10c0/610982f31d0c83d3bc9497cf4b56dacde3af6909b70dcbc986afb8e85c665061788b9d98f347412b8345cd6b2de6293c4fbde66a4bcbbf6fbb6de6a6905d8dde + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:30.1.3": + version: 30.1.3 + resolution: "@jest/test-sequencer@npm:30.1.3" + dependencies: + "@jest/test-result": "npm:30.1.3" + graceful-fs: "npm:^4.2.11" + jest-haste-map: "npm:30.1.0" slash: "npm:^3.0.0" - checksum: 10c0/593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b + checksum: 10c0/ed9b24e3b37f5a6f3ae79b72fd0f241ddb422697c56b7fc49bf8b2ae3171ad466b6423a4965043ec224cdbac98c55009b585c0d79daa4ace288a2ed3ef3c38c0 languageName: node linkType: hard -"@jest/transform@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/transform@npm:29.7.0" +"@jest/transform@npm:30.1.2": + version: 30.1.2 + resolution: "@jest/transform@npm:30.1.2" dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - babel-plugin-istanbul: "npm:^6.1.1" - chalk: "npm:^4.0.0" + "@babel/core": "npm:^7.27.4" + "@jest/types": "npm:30.0.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + babel-plugin-istanbul: "npm:^7.0.0" + chalk: "npm:^4.1.2" convert-source-map: "npm:^2.0.0" fast-json-stable-stringify: "npm:^2.1.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pirates: "npm:^4.0.4" + graceful-fs: "npm:^4.2.11" + jest-haste-map: "npm:30.1.0" + jest-regex-util: "npm:30.0.1" + jest-util: "npm:30.0.5" + micromatch: "npm:^4.0.8" + pirates: "npm:^4.0.7" slash: "npm:^3.0.0" - write-file-atomic: "npm:^4.0.2" - checksum: 10c0/7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 + write-file-atomic: "npm:^5.0.1" + checksum: 10c0/b427614659a982515efcb52ac20c28c02cca133b4602549c205dda08222e5e9ed8807181d28e076e158b69fc9f8cc6a5f481e9a44c67f6fa6a64829458c5c9e3 languageName: node linkType: hard -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" +"@jest/types@npm:30.0.5": + version: 30.0.5 + resolution: "@jest/types@npm:30.0.5" dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" + "@jest/pattern": "npm:30.0.1" + "@jest/schemas": "npm:30.0.5" + "@types/istanbul-lib-coverage": "npm:^2.0.6" + "@types/istanbul-reports": "npm:^3.0.4" "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 + "@types/yargs": "npm:^17.0.33" + chalk: "npm:^4.1.2" + checksum: 10c0/fd097a390e36edacbd2c92a8378ec0cd67abec5e234bab7a80aec6eb8625568052b0c32acf472388d04c4cf384b8fa2871d0d12a56b4b06eaea93f2c6df0ec6c + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.12": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b languageName: node linkType: hard @@ -1291,6 +1566,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" @@ -1322,6 +1607,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -1332,7 +1624,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -1342,6 +1634,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 + languageName: node + linkType: hard + "@ljharb/through@npm:^2.3.11": version: 2.3.13 resolution: "@ljharb/through@npm:2.3.13" @@ -1409,6 +1711,17 @@ __metadata: languageName: node linkType: hard +"@napi-rs/wasm-runtime@npm:^0.2.11": + version: 0.2.12 + resolution: "@napi-rs/wasm-runtime@npm:0.2.12" + dependencies: + "@emnapi/core": "npm:^1.4.3" + "@emnapi/runtime": "npm:^1.4.3" + "@tybys/wasm-util": "npm:^0.10.0" + checksum: 10c0/6d07922c0613aab30c6a497f4df297ca7c54e5b480e00035e0209b872d5c6aab7162fc49477267556109c2c7ed1eb9c65a174e27e9b87568106a87b0a6e3ca7d + languageName: node + linkType: hard + "@nestjs/axios@npm:^3.0.2": version: 3.0.2 resolution: "@nestjs/axios@npm:3.0.2" @@ -1901,14 +2214,21 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e +"@pkgr/core@npm:^0.2.9": + version: 0.2.9 + resolution: "@pkgr/core@npm:0.2.9" + checksum: 10c0/ac8e4e8138b1a7a4ac6282873aef7389c352f1f8b577b4850778f5182e4a39a5241facbe48361fec817f56d02b51691b383010843fb08b34a8e8ea3614688fd5 languageName: node linkType: hard -"@sinonjs/commons@npm:^3.0.0": +"@sinclair/typebox@npm:^0.34.0": + version: 0.34.41 + resolution: "@sinclair/typebox@npm:0.34.41" + checksum: 10c0/0fb61fc2f90c25e30b19b0096eb8ab3ccef401d3e2acfce42168ff0ee877ba5981c8243fa6b1035ac756cde95316724e978b2837dd642d7e4e095de03a999c90 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.1": version: 3.0.1 resolution: "@sinonjs/commons@npm:3.0.1" dependencies: @@ -1917,12 +2237,12 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" +"@sinonjs/fake-timers@npm:^13.0.0": + version: 13.0.5 + resolution: "@sinonjs/fake-timers@npm:13.0.5" dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 + "@sinonjs/commons": "npm:^3.0.1" + checksum: 10c0/a707476efd523d2138ef6bba916c83c4a377a8372ef04fad87499458af9f01afc58f4f245c5fd062793d6d70587309330c6f96947b5bd5697961c18004dc3e26 languageName: node linkType: hard @@ -1968,7 +2288,16 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14": +"@tybys/wasm-util@npm:^0.10.0": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7, @types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -2000,7 +2329,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": +"@types/babel__traverse@npm:*": version: 7.20.5 resolution: "@types/babel__traverse@npm:7.20.5" dependencies: @@ -2129,15 +2458,6 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.9 - resolution: "@types/graceful-fs@npm:4.1.9" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b - languageName: node - linkType: hard - "@types/http-errors@npm:*": version: 2.0.4 resolution: "@types/http-errors@npm:2.0.4" @@ -2145,7 +2465,7 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.1, @types/istanbul-lib-coverage@npm:^2.0.6": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 @@ -2161,7 +2481,7 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-reports@npm:^3.0.0": +"@types/istanbul-reports@npm:^3.0.4": version: 3.0.4 resolution: "@types/istanbul-reports@npm:3.0.4" dependencies: @@ -2170,13 +2490,13 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^29.5.1": - version: 29.5.12 - resolution: "@types/jest@npm:29.5.12" +"@types/jest@npm:^30.0.0": + version: 30.0.0 + resolution: "@types/jest@npm:30.0.0" dependencies: - expect: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - checksum: 10c0/25fc8e4c611fa6c4421e631432e9f0a6865a8cb07c9815ec9ac90d630271cad773b2ee5fe08066f7b95bebd18bb967f8ce05d018ee9ab0430f9dfd1d84665b6f + expect: "npm:^30.0.0" + pretty-format: "npm:^30.0.0" + checksum: 10c0/20c6ce574154bc16f8dd6a97afacca4b8c4921a819496a3970382031c509ebe87a1b37b152a1b8475089b82d8ca951a9e95beb4b9bf78fbf579b1536f0b65969 languageName: node linkType: hard @@ -2274,6 +2594,17 @@ __metadata: languageName: node linkType: hard +"@types/pg@npm:^8.15.5": + version: 8.15.5 + resolution: "@types/pg@npm:8.15.5" + dependencies: + "@types/node": "npm:*" + pg-protocol: "npm:*" + pg-types: "npm:^2.2.0" + checksum: 10c0/19a3cc1811918753f8c827733648c3a85c7b0355bf207c44eb1a3b79b2e6a0d85cb5457ec550d860fc9be7e88c7587a3600958ec8c61fa1ad573061c63af93f0 + languageName: node + linkType: hard + "@types/qs@npm:*, @types/qs@npm:^6.9.10": version: 6.9.14 resolution: "@types/qs@npm:6.9.14" @@ -2316,7 +2647,7 @@ __metadata: languageName: node linkType: hard -"@types/stack-utils@npm:^2.0.0": +"@types/stack-utils@npm:^2.0.3": version: 2.0.3 resolution: "@types/stack-utils@npm:2.0.3" checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c @@ -2364,12 +2695,12 @@ __metadata: languageName: node linkType: hard -"@types/yargs@npm:^17.0.8": - version: 17.0.32 - resolution: "@types/yargs@npm:17.0.32" +"@types/yargs@npm:^17.0.33": + version: 17.0.33 + resolution: "@types/yargs@npm:17.0.33" dependencies: "@types/yargs-parser": "npm:*" - checksum: 10c0/2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf + checksum: 10c0/d16937d7ac30dff697801c3d6f235be2166df42e4a88bf730fa6dc09201de3727c0a9500c59a672122313341de5f24e45ee0ff579c08ce91928e519090b7906b languageName: node linkType: hard @@ -2510,6 +2841,148 @@ __metadata: languageName: node linkType: hard +"@ungap/structured-clone@npm:^1.3.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a + languageName: node + linkType: hard + +"@unrs/resolver-binding-android-arm-eabi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.11.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-android-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm64@npm:1.11.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.11.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-x64@npm:1.11.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-freebsd-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.11.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.11.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-wasm32-wasi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.11.1" + dependencies: + "@napi-rs/wasm-runtime": "npm:^0.2.11" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.11.5": version: 1.12.1 resolution: "@webassemblyjs/ast@npm:1.12.1" @@ -2860,7 +3333,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^5.0.0": +"ansi-styles@npm:^5.2.0": version: 5.2.0 resolution: "ansi-styles@npm:5.2.0" checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df @@ -2881,7 +3354,7 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": +"anymatch@npm:^3.1.3, anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" dependencies: @@ -3026,79 +3499,81 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "babel-jest@npm:29.7.0" +"babel-jest@npm:30.1.2, babel-jest@npm:^30.1.2": + version: 30.1.2 + resolution: "babel-jest@npm:30.1.2" dependencies: - "@jest/transform": "npm:^29.7.0" - "@types/babel__core": "npm:^7.1.14" - babel-plugin-istanbul: "npm:^6.1.1" - babel-preset-jest: "npm:^29.6.3" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" + "@jest/transform": "npm:30.1.2" + "@types/babel__core": "npm:^7.20.5" + babel-plugin-istanbul: "npm:^7.0.0" + babel-preset-jest: "npm:30.0.1" + chalk: "npm:^4.1.2" + graceful-fs: "npm:^4.2.11" slash: "npm:^3.0.0" peerDependencies: - "@babel/core": ^7.8.0 - checksum: 10c0/2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 + "@babel/core": ^7.11.0 + checksum: 10c0/c0f25d637708beeb210fc27b87a50bd4693de2e88b0ae89ea255fc1906dea362fde6ae81f602e3cd3c6b439eb7553bf0f3fca7b8f79681f6e2f1df8ec9576b00 languageName: node linkType: hard -"babel-plugin-istanbul@npm:^6.1.1": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" +"babel-plugin-istanbul@npm:^7.0.0": + version: 7.0.1 + resolution: "babel-plugin-istanbul@npm:7.0.1" dependencies: "@babel/helper-plugin-utils": "npm:^7.0.0" "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-instrument: "npm:^5.0.4" + "@istanbuljs/schema": "npm:^0.1.3" + istanbul-lib-instrument: "npm:^6.0.2" test-exclude: "npm:^6.0.0" - checksum: 10c0/1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb + checksum: 10c0/92975e3df12503b168695463b451468da0c20e117807221652eb8e33a26c160f3b9d4c5c4e65495657420e871c6a54e5e31f539e2e1da37ef2261d7ddd4b1dfd languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-plugin-jest-hoist@npm:29.6.3" +"babel-plugin-jest-hoist@npm:30.0.1": + version: 30.0.1 + resolution: "babel-plugin-jest-hoist@npm:30.0.1" dependencies: - "@babel/template": "npm:^7.3.3" - "@babel/types": "npm:^7.3.3" - "@types/babel__core": "npm:^7.1.14" - "@types/babel__traverse": "npm:^7.0.6" - checksum: 10c0/7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.27.3" + "@types/babel__core": "npm:^7.20.5" + checksum: 10c0/49087f45c8ac359d68c622f4bd471300376b0ca2b6bd6ecaa1bd254ea87eda8fa3ce6144848e3bbabad337d276474a47e2ac3f6272f82e1f2337924ff49a02bd languageName: node linkType: hard -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" +"babel-preset-current-node-syntax@npm:^1.1.0": + version: 1.2.0 + resolution: "babel-preset-current-node-syntax@npm:1.2.0" dependencies: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.8.3" - "@babel/plugin-syntax-import-meta": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627 + "@babel/core": ^7.0.0 || ^8.0.0-0 + checksum: 10c0/94a4f81cddf9b051045d08489e4fff7336292016301664c138cfa3d9ffe3fe2ba10a24ad6ae589fd95af1ac72ba0216e1653555c187e694d7b17be0c002bea10 languageName: node linkType: hard -"babel-preset-jest@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-preset-jest@npm:29.6.3" +"babel-preset-jest@npm:30.0.1": + version: 30.0.1 + resolution: "babel-preset-jest@npm:30.0.1" dependencies: - babel-plugin-jest-hoist: "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" + babel-plugin-jest-hoist: "npm:30.0.1" + babel-preset-current-node-syntax: "npm:^1.1.0" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 + "@babel/core": ^7.11.0 + checksum: 10c0/33da0094965929b1742b02e55272b544f189cd487d55bbba60e68d96d62d48f466264fe51f65950454829d4f2271541f2433e1c1c5e6a7ff5b9e91f1303471b7 languageName: node linkType: hard @@ -3130,6 +3605,15 @@ __metadata: languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.8.3": + version: 2.8.6 + resolution: "baseline-browser-mapping@npm:2.8.6" + bin: + baseline-browser-mapping: dist/cli.js + checksum: 10c0/ea628db5048d1e5c0251d4783e0496f5ce8de7a0e20ea29c8876611cb0acf58ffc76bf6561786c6388db22f130646e3ecb91eebc1c03954552a21d38fa38320f + languageName: node + linkType: hard + "bcrypt@npm:^5.1.1": version: 5.1.1 resolution: "bcrypt@npm:5.1.1" @@ -3250,6 +3734,15 @@ __metadata: languageName: node linkType: hard +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + "brorand@npm:^1.1.0": version: 1.1.0 resolution: "brorand@npm:1.1.0" @@ -3271,7 +3764,22 @@ __metadata: languageName: node linkType: hard -"bs-logger@npm:0.x": +"browserslist@npm:^4.24.0": + version: 4.26.2 + resolution: "browserslist@npm:4.26.2" + dependencies: + baseline-browser-mapping: "npm:^2.8.3" + caniuse-lite: "npm:^1.0.30001741" + electron-to-chromium: "npm:^1.5.218" + node-releases: "npm:^2.0.21" + update-browserslist-db: "npm:^1.1.3" + bin: + browserslist: cli.js + checksum: 10c0/1146339dad33fda77786b11ea07f1c40c48899edd897d73a9114ee0dbb1ee6475bb4abda263a678c104508bdca8e66760ff8e10be1947d3e20d34bae01d8b89b + languageName: node + linkType: hard + +"bs-logger@npm:^0.2.6": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" dependencies: @@ -3392,7 +3900,7 @@ __metadata: languageName: node linkType: hard -"callsites@npm:^3.0.0": +"callsites@npm:^3.0.0, callsites@npm:^3.1.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 @@ -3406,7 +3914,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.2.0": +"camelcase@npm:^6.2.0, camelcase@npm:^6.3.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 @@ -3420,6 +3928,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001741": + version: 1.0.30001745 + resolution: "caniuse-lite@npm:1.0.30001745" + checksum: 10c0/646ca4b57baaa7a835cf7204c8a257490ee8e36364c04638212e3750c5e8ef45c39f352307e6205114487bcc179d42f5216f6dac146641b16a60b20b29d6f2a6 + languageName: node + linkType: hard + "ccxt@npm:^4.4.92": version: 4.4.92 resolution: "ccxt@npm:4.4.92" @@ -3518,17 +4033,17 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a +"ci-info@npm:^4.2.0": + version: 4.3.0 + resolution: "ci-info@npm:4.3.0" + checksum: 10c0/60d3dfe95d75c01454ec1cfd5108617dd598a28a2a3e148bd7e1523c1c208b5f5a3007cafcbe293e6fd0a5a310cc32217c5dc54743eeabc0a2bec80072fc055c languageName: node linkType: hard -"cjs-module-lexer@npm:^1.0.0": - version: 1.2.3 - resolution: "cjs-module-lexer@npm:1.2.3" - checksum: 10c0/0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab +"cjs-module-lexer@npm:^2.1.0": + version: 2.1.0 + resolution: "cjs-module-lexer@npm:2.1.0" + checksum: 10c0/91cf28686dc3948e4a06dfa03a2fccb14b7a97471ffe7ae0124f62060ddf2de28e8e997f60007babe6e122b1b06a47c01a1b72cc015f185824d9cac3ccfa5533 languageName: node linkType: hard @@ -3539,14 +4054,14 @@ __metadata: languageName: node linkType: hard -"class-validator@npm:^0.14.1": - version: 0.14.1 - resolution: "class-validator@npm:0.14.1" +"class-validator@npm:^0.14.2": + version: 0.14.2 + resolution: "class-validator@npm:0.14.2" dependencies: "@types/validator": "npm:^13.11.8" - libphonenumber-js: "npm:^1.10.53" + libphonenumber-js: "npm:^1.11.1" validator: "npm:^13.9.0" - checksum: 10c0/946e914e47548b5081449c720ea6a4877bac63dc960e14fca4b990b56e64efe3802d12f07ec22d6420c290245b72ea2d646939239f2a3b597794e6c4c2a4f2ae + checksum: 10c0/5bb67389d38fa23d342dffdd8e2dcee8235e1906e59799df5b2050278a6d89292fcaa88167f0215e3ddd684f47dcd51b004efa7be32d8aded91ee06cb317b3b8 languageName: node linkType: hard @@ -3661,7 +4176,7 @@ __metadata: languageName: node linkType: hard -"collect-v8-coverage@npm:^1.0.0": +"collect-v8-coverage@npm:^1.0.2": version: 1.0.2 resolution: "collect-v8-coverage@npm:1.0.2" checksum: 10c0/ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 @@ -3917,23 +4432,6 @@ __metadata: languageName: node linkType: hard -"create-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "create-jest@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - prompts: "npm:^2.0.1" - bin: - create-jest: bin/create-jest.js - checksum: 10c0/e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f - languageName: node - linkType: hard - "create-require@npm:^1.1.0": version: 1.1.1 resolution: "create-require@npm:1.1.1" @@ -3997,15 +4495,15 @@ __metadata: languageName: node linkType: hard -"dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" +"dedent@npm:^1.6.0": + version: 1.7.0 + resolution: "dedent@npm:1.7.0" peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - checksum: 10c0/f8612cd5b00aab58b18bb95572dca08dc2d49720bfa7201a444c3dae430291e8a06d4928614a6ec8764d713927f44bce9c990d3b8238fca2f430990ddc17c070 + checksum: 10c0/c5e8a8beb5072bd5e520cb64b27a82d7ec3c2a63ee5ce47dbc2a05d5b7700cefd77a992a752cd0a8b1d979c1db06b14fb9486e805f3ad6088eda6e07cd9bf2d5 languageName: node linkType: hard @@ -4016,7 +4514,7 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.2.2": +"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": version: 4.3.1 resolution: "deepmerge@npm:4.3.1" checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 @@ -4078,7 +4576,7 @@ __metadata: languageName: node linkType: hard -"detect-newline@npm:^3.0.0": +"detect-newline@npm:^3.1.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d @@ -4095,13 +4593,6 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - "diff@npm:^4.0.1": version: 4.0.2 resolution: "diff@npm:4.0.2" @@ -4171,6 +4662,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.218": + version: 1.5.223 + resolution: "electron-to-chromium@npm:1.5.223" + checksum: 10c0/1c07c34b6d8eca9b5a587e9a7ffdb4502d9cd346cf7a0446b5bbf9056395b06f3d95774c7b221b8060184771ac536f4653a06811dd4ea5c20a1a071349e84120 + languageName: node + linkType: hard + "elliptic@npm:6.5.4": version: 6.5.4 resolution: "elliptic@npm:6.5.4" @@ -4331,6 +4829,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + "escape-html@npm:~1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" @@ -4586,7 +5091,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0": +"execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" dependencies: @@ -4603,23 +5108,24 @@ __metadata: languageName: node linkType: hard -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: 10c0/71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 +"exit-x@npm:^0.2.2": + version: 0.2.2 + resolution: "exit-x@npm:0.2.2" + checksum: 10c0/212a7a095ca5540e9581f1ef2d1d6a40df7a6027c8cc96e78ce1d16b86d1a88326d4a0eff8dff2b5ec1e68bb0c1edd5d0dfdde87df1869bf7514d4bc6a5cbd72 languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.7.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" +"expect@npm:30.1.2, expect@npm:^30.0.0": + version: 30.1.2 + resolution: "expect@npm:30.1.2" dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 + "@jest/expect-utils": "npm:30.1.2" + "@jest/get-type": "npm:30.1.0" + jest-matcher-utils: "npm:30.1.2" + jest-message-util: "npm:30.1.0" + jest-mock: "npm:30.0.5" + jest-util: "npm:30.0.5" + checksum: 10c0/467c1b69549e75a1a09f3feec335e0dc968cd71370361b5d83248351cf77e705e8ddf38a4885e32a50237502ced7fcc9106462f59f33c4796462e95938b8ca19 languageName: node linkType: hard @@ -4737,7 +5243,7 @@ __metadata: languageName: node linkType: hard -"fb-watchman@npm:^2.0.0": +"fb-watchman@npm:^2.0.2": version: 2.0.2 resolution: "fb-watchman@npm:2.0.2" dependencies: @@ -4802,6 +5308,15 @@ __metadata: languageName: node linkType: hard +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + "finalhandler@npm:1.2.0": version: 1.2.0 resolution: "finalhandler@npm:1.2.0" @@ -4985,7 +5500,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": +"fsevents@npm:^2.3.3, fsevents@npm:~2.3.2": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -4995,7 +5510,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": +"fsevents@patch:fsevents@npm%3A^2.3.3#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -5205,7 +5720,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -5219,6 +5734,24 @@ __metadata: languageName: node linkType: hard +"handlebars@npm:^4.7.8": + version: 4.7.8 + resolution: "handlebars@npm:4.7.8" + dependencies: + minimist: "npm:^1.2.5" + neo-async: "npm:^2.6.2" + source-map: "npm:^0.6.1" + uglify-js: "npm:^3.1.4" + wordwrap: "npm:^1.0.0" + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 10c0/7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d + languageName: node + linkType: hard + "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -5427,15 +5960,15 @@ __metadata: languageName: node linkType: hard -"import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" +"import-local@npm:^3.2.0": + version: 3.2.0 + resolution: "import-local@npm:3.2.0" dependencies: pkg-dir: "npm:^4.2.0" resolve-cwd: "npm:^3.0.0" bin: import-local-fixture: fixtures/cli.js - checksum: 10c0/c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2 + checksum: 10c0/94cd6367a672b7e0cb026970c85b76902d2710a64896fa6de93bd5c571dd03b228c5759308959de205083e3b1c61e799f019c9e36ee8e9c523b993e1057f0433 languageName: node linkType: hard @@ -5586,7 +6119,7 @@ __metadata: languageName: node linkType: hard -"is-generator-fn@npm:^2.0.0": +"is-generator-fn@npm:^2.1.0": version: 2.1.0 resolution: "is-generator-fn@npm:2.1.0" checksum: 10c0/2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d @@ -5679,29 +6212,29 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:^5.0.4": - version: 5.2.1 - resolution: "istanbul-lib-instrument@npm:5.2.1" +"istanbul-lib-instrument@npm:^6.0.0": + version: 6.0.2 + resolution: "istanbul-lib-instrument@npm:6.0.2" dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" + "@babel/core": "npm:^7.23.9" + "@babel/parser": "npm:^7.23.9" + "@istanbuljs/schema": "npm:^0.1.3" istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^6.3.0" - checksum: 10c0/8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee + semver: "npm:^7.5.4" + checksum: 10c0/405c6ac037bf8c7ee7495980b0cd5544b2c53078c10534d0c9ceeb92a9ea7dcf8510f58ccfce31336458a8fa6ccef27b570bbb602abaa8c1650f5496a807477c languageName: node linkType: hard -"istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.2 - resolution: "istanbul-lib-instrument@npm:6.0.2" +"istanbul-lib-instrument@npm:^6.0.2": + version: 6.0.3 + resolution: "istanbul-lib-instrument@npm:6.0.3" dependencies: "@babel/core": "npm:^7.23.9" "@babel/parser": "npm:^7.23.9" "@istanbuljs/schema": "npm:^0.1.3" istanbul-lib-coverage: "npm:^3.2.0" semver: "npm:^7.5.4" - checksum: 10c0/405c6ac037bf8c7ee7495980b0cd5544b2c53078c10534d0c9ceeb92a9ea7dcf8510f58ccfce31336458a8fa6ccef27b570bbb602abaa8c1650f5496a807477c + checksum: 10c0/a1894e060dd2a3b9f046ffdc87b44c00a35516f5e6b7baf4910369acca79e506fc5323a816f811ae23d82334b38e3ddeb8b3b331bd2c860540793b59a8689128 languageName: node linkType: hard @@ -5716,14 +6249,14 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" +"istanbul-lib-source-maps@npm:^5.0.0": + version: 5.0.6 + resolution: "istanbul-lib-source-maps@npm:5.0.6" dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.23" debug: "npm:^4.1.1" istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 + checksum: 10c0/ffe75d70b303a3621ee4671554f306e0831b16f39ab7f4ab52e54d356a5d33e534d97563e318f1333a6aae1d42f91ec49c76b6cd3f3fb378addcb5c81da0255f languageName: node linkType: hard @@ -5770,238 +6303,235 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-changed-files@npm:29.7.0" +"jest-changed-files@npm:30.0.5": + version: 30.0.5 + resolution: "jest-changed-files@npm:30.0.5" dependencies: - execa: "npm:^5.0.0" - jest-util: "npm:^29.7.0" + execa: "npm:^5.1.1" + jest-util: "npm:30.0.5" p-limit: "npm:^3.1.0" - checksum: 10c0/e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b + checksum: 10c0/41ce090f324e8450443327f19f772a9c3f225b4b1374ba9704358f0c8b8cd91fd134fa41df7db4d278428ab974c432abc3eca9484e67c8f18528974378fddef6 languageName: node linkType: hard -"jest-circus@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-circus@npm:29.7.0" +"jest-circus@npm:30.1.3": + version: 30.1.3 + resolution: "jest-circus@npm:30.1.3" dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" + "@jest/environment": "npm:30.1.2" + "@jest/expect": "npm:30.1.2" + "@jest/test-result": "npm:30.1.3" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - chalk: "npm:^4.0.0" + chalk: "npm:^4.1.2" co: "npm:^4.6.0" - dedent: "npm:^1.0.0" - is-generator-fn: "npm:^2.0.0" - jest-each: "npm:^29.7.0" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" + dedent: "npm:^1.6.0" + is-generator-fn: "npm:^2.1.0" + jest-each: "npm:30.1.0" + jest-matcher-utils: "npm:30.1.2" + jest-message-util: "npm:30.1.0" + jest-runtime: "npm:30.1.3" + jest-snapshot: "npm:30.1.2" + jest-util: "npm:30.0.5" p-limit: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - pure-rand: "npm:^6.0.0" + pretty-format: "npm:30.0.5" + pure-rand: "npm:^7.0.0" slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e + stack-utils: "npm:^2.0.6" + checksum: 10c0/9bea7baf7daf814f3b494363e4ce321d98a2229078b6aff07f3a5623d93c99be11c9d07c0cbb75dcc9b4293dc13535c4c400500e69f08e869ed964b098fab3c8 languageName: node linkType: hard -"jest-cli@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-cli@npm:29.7.0" +"jest-cli@npm:30.1.3": + version: 30.1.3 + resolution: "jest-cli@npm:30.1.3" dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - create-jest: "npm:^29.7.0" - exit: "npm:^0.1.2" - import-local: "npm:^3.0.2" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - yargs: "npm:^17.3.1" + "@jest/core": "npm:30.1.3" + "@jest/test-result": "npm:30.1.3" + "@jest/types": "npm:30.0.5" + chalk: "npm:^4.1.2" + exit-x: "npm:^0.2.2" + import-local: "npm:^3.2.0" + jest-config: "npm:30.1.3" + jest-util: "npm:30.0.5" + jest-validate: "npm:30.1.0" + yargs: "npm:^17.7.2" peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true bin: - jest: bin/jest.js - checksum: 10c0/a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a + jest: ./bin/jest.js + checksum: 10c0/e15e811b0a14625ce70b1b3948955e9a9c7a523b2c7970effa8f924006dc4d1839b5636fa5c7c5c772d7959ed331a45b0e9d85d3b71f9a065aa6440ae3c1aa64 languageName: node linkType: hard -"jest-config@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-config@npm:29.7.0" +"jest-config@npm:30.1.3": + version: 30.1.3 + resolution: "jest-config@npm:30.1.3" dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/test-sequencer": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-jest: "npm:^29.7.0" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - deepmerge: "npm:^4.2.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-circus: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - micromatch: "npm:^4.0.4" + "@babel/core": "npm:^7.27.4" + "@jest/get-type": "npm:30.1.0" + "@jest/pattern": "npm:30.0.1" + "@jest/test-sequencer": "npm:30.1.3" + "@jest/types": "npm:30.0.5" + babel-jest: "npm:30.1.2" + chalk: "npm:^4.1.2" + ci-info: "npm:^4.2.0" + deepmerge: "npm:^4.3.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.11" + jest-circus: "npm:30.1.3" + jest-docblock: "npm:30.0.1" + jest-environment-node: "npm:30.1.2" + jest-regex-util: "npm:30.0.1" + jest-resolve: "npm:30.1.3" + jest-runner: "npm:30.1.3" + jest-util: "npm:30.0.5" + jest-validate: "npm:30.1.0" + micromatch: "npm:^4.0.8" parse-json: "npm:^5.2.0" - pretty-format: "npm:^29.7.0" + pretty-format: "npm:30.0.5" slash: "npm:^3.0.0" strip-json-comments: "npm:^3.1.1" peerDependencies: "@types/node": "*" + esbuild-register: ">=3.4.0" ts-node: ">=9.0.0" peerDependenciesMeta: "@types/node": optional: true + esbuild-register: + optional: true ts-node: optional: true - checksum: 10c0/bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 + checksum: 10c0/9e347a22232d0368acad44719b1f6f3d5a7a39fd26156387c898904a3477e52267a5078624e7a3d231f05005679e21daaf080dec936ad44ac1f242500cd8d2bc languageName: node linkType: hard -"jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" +"jest-diff@npm:30.1.2": + version: 30.1.2 + resolution: "jest-diff@npm:30.1.2" dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 + "@jest/diff-sequences": "npm:30.0.1" + "@jest/get-type": "npm:30.1.0" + chalk: "npm:^4.1.2" + pretty-format: "npm:30.0.5" + checksum: 10c0/5baba5c54d044faf77540d2b97f947ce2a735c529bdca23ccd25669085ba3912eef2a8f66f4d765e8e416b1e10b95cb1dded0ebc1633efdbef37706b4e767ecb languageName: node linkType: hard -"jest-docblock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-docblock@npm:29.7.0" +"jest-docblock@npm:30.0.1": + version: 30.0.1 + resolution: "jest-docblock@npm:30.0.1" dependencies: - detect-newline: "npm:^3.0.0" - checksum: 10c0/d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 + detect-newline: "npm:^3.1.0" + checksum: 10c0/f9bad2651db8afa029867ea7a40f422c9d73c67657360297371846a314a40c8786424be00483261df9137499f52c2af28cd458fbd15a7bf7fac8775b4bcd6ee1 languageName: node linkType: hard -"jest-each@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-each@npm:29.7.0" +"jest-each@npm:30.1.0": + version: 30.1.0 + resolution: "jest-each@npm:30.1.0" dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - pretty-format: "npm:^29.7.0" - checksum: 10c0/f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 + "@jest/get-type": "npm:30.1.0" + "@jest/types": "npm:30.0.5" + chalk: "npm:^4.1.2" + jest-util: "npm:30.0.5" + pretty-format: "npm:30.0.5" + checksum: 10c0/2db0fe6df0084b6e9e1eda8f024990c66ade49845f4259f2fd0bc64f31c709a49d66b8f3d7b4b09064bbd9c2acf8fdd320b9b29801050875d422b3f1004b6f7b languageName: node linkType: hard -"jest-environment-node@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-environment-node@npm:29.7.0" +"jest-environment-node@npm:30.1.2": + version: 30.1.2 + resolution: "jest-environment-node@npm:30.1.2" dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" + "@jest/environment": "npm:30.1.2" + "@jest/fake-timers": "npm:30.1.2" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b + jest-mock: "npm:30.0.5" + jest-util: "npm:30.0.5" + jest-validate: "npm:30.1.0" + checksum: 10c0/6298269ba9e132634cc1548391a744387e8035f9b107cdd5250e6a813080c4099386ce55de8bdc68a12232f08d185d459b9517c50154107c8e070d49fcd8e879 languageName: node linkType: hard -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b - languageName: node - linkType: hard - -"jest-haste-map@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-haste-map@npm:29.7.0" +"jest-haste-map@npm:30.1.0": + version: 30.1.0 + resolution: "jest-haste-map@npm:30.1.0" dependencies: - "@jest/types": "npm:^29.6.3" - "@types/graceful-fs": "npm:^4.1.3" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - anymatch: "npm:^3.0.3" - fb-watchman: "npm:^2.0.0" - fsevents: "npm:^2.3.2" - graceful-fs: "npm:^4.2.9" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.4" + anymatch: "npm:^3.1.3" + fb-watchman: "npm:^2.0.2" + fsevents: "npm:^2.3.3" + graceful-fs: "npm:^4.2.11" + jest-regex-util: "npm:30.0.1" + jest-util: "npm:30.0.5" + jest-worker: "npm:30.1.0" + micromatch: "npm:^4.0.8" walker: "npm:^1.0.8" dependenciesMeta: fsevents: optional: true - checksum: 10c0/2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c + checksum: 10c0/a6001e350b0f1b4de6e4855130c516e3848c49fe90c50562f0eca525b80494f0d8ac1cc4d99013bdda9d2a5bd015e70abbcf3dbbf43b711fd39eaf7d47370220 languageName: node linkType: hard -"jest-leak-detector@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-leak-detector@npm:29.7.0" +"jest-leak-detector@npm:30.1.0": + version: 30.1.0 + resolution: "jest-leak-detector@npm:30.1.0" dependencies: - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 + "@jest/get-type": "npm:30.1.0" + pretty-format: "npm:30.0.5" + checksum: 10c0/a0b0c30988abab2efdf99fe8e00120c0b57406072efe2b1380270d0df4866812efe85903155682e2ec773164d8d0213e5ff59df1d8b343245dd4522d332c2853 languageName: node linkType: hard -"jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" +"jest-matcher-utils@npm:30.1.2": + version: 30.1.2 + resolution: "jest-matcher-utils@npm:30.1.2" dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e + "@jest/get-type": "npm:30.1.0" + chalk: "npm:^4.1.2" + jest-diff: "npm:30.1.2" + pretty-format: "npm:30.0.5" + checksum: 10c0/c4f81fc7d72f94b18dff807adf787d6fd081c3e150148fbbcb1559c353b27890989bcf7e10b15d763625565175bf30019e93a014078ff291646a88a9acdfc9a4 languageName: node linkType: hard -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" +"jest-message-util@npm:30.1.0": + version: 30.1.0 + resolution: "jest-message-util@npm:30.1.0" dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" + "@babel/code-frame": "npm:^7.27.1" + "@jest/types": "npm:30.0.5" + "@types/stack-utils": "npm:^2.0.3" + chalk: "npm:^4.1.2" + graceful-fs: "npm:^4.2.11" + micromatch: "npm:^4.0.8" + pretty-format: "npm:30.0.5" slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 + stack-utils: "npm:^2.0.6" + checksum: 10c0/3884f7e772d64891eca63870f73b89af4e1dce715611c308e1115f7961ed378560bac66c5f9cbee025b06ca530dbd30685362cb8db7b5a48f5f53b75ba79023e languageName: node linkType: hard -"jest-mock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-mock@npm:29.7.0" +"jest-mock@npm:30.0.5": + version: 30.0.5 + resolution: "jest-mock@npm:30.0.5" dependencies: - "@jest/types": "npm:^29.6.3" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - checksum: 10c0/7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac + jest-util: "npm:30.0.5" + checksum: 10c0/207fd79297f514a8e26ede9b4b5035e70212b8850a2f460b51d3cc58e8e7c9585bd2dbc5df2475a3321c4cd114b90e0b24190f00d6eeb88c8f088a8ed00416d5 languageName: node linkType: hard -"jest-pnp-resolver@npm:^1.2.2": +"jest-pnp-resolver@npm:^1.2.3": version: 1.2.3 resolution: "jest-pnp-resolver@npm:1.2.3" peerDependencies: @@ -6013,210 +6543,212 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-regex-util@npm:29.6.3" - checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b +"jest-regex-util@npm:30.0.1": + version: 30.0.1 + resolution: "jest-regex-util@npm:30.0.1" + checksum: 10c0/f30c70524ebde2d1012afe5ffa5691d5d00f7d5ba9e43d588f6460ac6fe96f9e620f2f9b36a02d0d3e7e77bc8efb8b3450ae3b80ac53c8be5099e01bf54f6728 languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve-dependencies@npm:29.7.0" +"jest-resolve-dependencies@npm:30.1.3": + version: 30.1.3 + resolution: "jest-resolve-dependencies@npm:30.1.3" dependencies: - jest-regex-util: "npm:^29.6.3" - jest-snapshot: "npm:^29.7.0" - checksum: 10c0/b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d + jest-regex-util: "npm:30.0.1" + jest-snapshot: "npm:30.1.2" + checksum: 10c0/1fc144c3107ad7faae455ac13b32de0cabb8e2718a55f431246a222da86c6da539f80230814b1cbcaf22c06df704c3c00ab761d065b9a9241659757e3fd28f66 languageName: node linkType: hard -"jest-resolve@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve@npm:29.7.0" +"jest-resolve@npm:30.1.3": + version: 30.1.3 + resolution: "jest-resolve@npm:30.1.3" dependencies: - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-pnp-resolver: "npm:^1.2.2" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - resolve: "npm:^1.20.0" - resolve.exports: "npm:^2.0.0" + chalk: "npm:^4.1.2" + graceful-fs: "npm:^4.2.11" + jest-haste-map: "npm:30.1.0" + jest-pnp-resolver: "npm:^1.2.3" + jest-util: "npm:30.0.5" + jest-validate: "npm:30.1.0" slash: "npm:^3.0.0" - checksum: 10c0/59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 + unrs-resolver: "npm:^1.7.11" + checksum: 10c0/ba84ac234ac2fd6ee4703aa2bb6471e5b4c17af7e36c1f75aae85a5d907694703b5501d5109d0fdc8875556a5a34dbf4fd7fe8732d4ee83cbbe1d88ef9c795b1 languageName: node linkType: hard -"jest-runner@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runner@npm:29.7.0" +"jest-runner@npm:30.1.3": + version: 30.1.3 + resolution: "jest-runner@npm:30.1.3" dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/environment": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" + "@jest/console": "npm:30.1.2" + "@jest/environment": "npm:30.1.2" + "@jest/test-result": "npm:30.1.3" + "@jest/transform": "npm:30.1.2" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - chalk: "npm:^4.0.0" + chalk: "npm:^4.1.2" emittery: "npm:^0.13.1" - graceful-fs: "npm:^4.2.9" - jest-docblock: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-leak-detector: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-resolve: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" + exit-x: "npm:^0.2.2" + graceful-fs: "npm:^4.2.11" + jest-docblock: "npm:30.0.1" + jest-environment-node: "npm:30.1.2" + jest-haste-map: "npm:30.1.0" + jest-leak-detector: "npm:30.1.0" + jest-message-util: "npm:30.1.0" + jest-resolve: "npm:30.1.3" + jest-runtime: "npm:30.1.3" + jest-util: "npm:30.0.5" + jest-watcher: "npm:30.1.3" + jest-worker: "npm:30.1.0" p-limit: "npm:^3.1.0" source-map-support: "npm:0.5.13" - checksum: 10c0/2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 + checksum: 10c0/867f878892c88e8a050d2d687e44aedd661473c747c2a39e7b97297927b76c679710b229419ec3c237dfbbccf9061a3b953fa0d7ebfe4dd385c6048738658d33 languageName: node linkType: hard -"jest-runtime@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runtime@npm:29.7.0" +"jest-runtime@npm:30.1.3": + version: 30.1.3 + resolution: "jest-runtime@npm:30.1.3" dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/globals": "npm:^29.7.0" - "@jest/source-map": "npm:^29.6.3" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" + "@jest/environment": "npm:30.1.2" + "@jest/fake-timers": "npm:30.1.2" + "@jest/globals": "npm:30.1.2" + "@jest/source-map": "npm:30.0.1" + "@jest/test-result": "npm:30.1.3" + "@jest/transform": "npm:30.1.2" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - chalk: "npm:^4.0.0" - cjs-module-lexer: "npm:^1.0.0" - collect-v8-coverage: "npm:^1.0.0" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" + chalk: "npm:^4.1.2" + cjs-module-lexer: "npm:^2.1.0" + collect-v8-coverage: "npm:^1.0.2" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.11" + jest-haste-map: "npm:30.1.0" + jest-message-util: "npm:30.1.0" + jest-mock: "npm:30.0.5" + jest-regex-util: "npm:30.0.1" + jest-resolve: "npm:30.1.3" + jest-snapshot: "npm:30.1.2" + jest-util: "npm:30.0.5" slash: "npm:^3.0.0" strip-bom: "npm:^4.0.0" - checksum: 10c0/7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 + checksum: 10c0/2b5fe84685fddaca4e25cf4d578ab2bfdef2912e970be51a083ef0a7b6a8ff66f876aa72fb709674447fa57925551e2985af52d02a8c5d73d47a57b2057b5f95 languageName: node linkType: hard -"jest-snapshot@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-snapshot@npm:29.7.0" +"jest-snapshot@npm:30.1.2": + version: 30.1.2 + resolution: "jest-snapshot@npm:30.1.2" dependencies: - "@babel/core": "npm:^7.11.6" - "@babel/generator": "npm:^7.7.2" - "@babel/plugin-syntax-jsx": "npm:^7.7.2" - "@babel/plugin-syntax-typescript": "npm:^7.7.2" - "@babel/types": "npm:^7.3.3" - "@jest/expect-utils": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - chalk: "npm:^4.0.0" - expect: "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - natural-compare: "npm:^1.4.0" - pretty-format: "npm:^29.7.0" - semver: "npm:^7.5.3" - checksum: 10c0/6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 + "@babel/core": "npm:^7.27.4" + "@babel/generator": "npm:^7.27.5" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.27.1" + "@babel/types": "npm:^7.27.3" + "@jest/expect-utils": "npm:30.1.2" + "@jest/get-type": "npm:30.1.0" + "@jest/snapshot-utils": "npm:30.1.2" + "@jest/transform": "npm:30.1.2" + "@jest/types": "npm:30.0.5" + babel-preset-current-node-syntax: "npm:^1.1.0" + chalk: "npm:^4.1.2" + expect: "npm:30.1.2" + graceful-fs: "npm:^4.2.11" + jest-diff: "npm:30.1.2" + jest-matcher-utils: "npm:30.1.2" + jest-message-util: "npm:30.1.0" + jest-util: "npm:30.0.5" + pretty-format: "npm:30.0.5" + semver: "npm:^7.7.2" + synckit: "npm:^0.11.8" + checksum: 10c0/deca264b6564a5250f1f4153edefd8d626f880062e592656071507a71763b9ef9bcb88b5c011d7b18eb783d8be428ed35ab42f5f9227543dbf161cee586eeb4f languageName: node linkType: hard -"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" +"jest-util@npm:30.0.5": + version: 30.0.5 + resolution: "jest-util@npm:30.0.5" dependencies: - "@jest/types": "npm:^29.6.3" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 + chalk: "npm:^4.1.2" + ci-info: "npm:^4.2.0" + graceful-fs: "npm:^4.2.11" + picomatch: "npm:^4.0.2" + checksum: 10c0/d3808b5f7720044d0464664c795e2b795ed82edf3b5871db74b8b603c3a0a38107668730348d26f92920ca3b8245a99cbbc2c93e77d0abb1f5e27524079a4ba8 languageName: node linkType: hard -"jest-validate@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-validate@npm:29.7.0" +"jest-validate@npm:30.1.0": + version: 30.1.0 + resolution: "jest-validate@npm:30.1.0" dependencies: - "@jest/types": "npm:^29.6.3" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" + "@jest/get-type": "npm:30.1.0" + "@jest/types": "npm:30.0.5" + camelcase: "npm:^6.3.0" + chalk: "npm:^4.1.2" leven: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - checksum: 10c0/a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 + pretty-format: "npm:30.0.5" + checksum: 10c0/6b8dd92e918496763827a9d440200657194b0158f70b42c9d4df373ff0504d063f342acdd12f692a8cb8610e7077c61289f934ae0c7878c9baff2d8be5efbc1f languageName: node linkType: hard -"jest-watcher@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-watcher@npm:29.7.0" +"jest-watcher@npm:30.1.3": + version: 30.1.3 + resolution: "jest-watcher@npm:30.1.3" dependencies: - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" + "@jest/test-result": "npm:30.1.3" + "@jest/types": "npm:30.0.5" "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" + ansi-escapes: "npm:^4.3.2" + chalk: "npm:^4.1.2" emittery: "npm:^0.13.1" - jest-util: "npm:^29.7.0" - string-length: "npm:^4.0.1" - checksum: 10c0/ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 + jest-util: "npm:30.0.5" + string-length: "npm:^4.0.2" + checksum: 10c0/6783c17813afeddc333967f1dcc7ae8ac46269f6c45ff33b2d3665f5b697fb1ca70968903e6a4371e70cb7eab7a7e6cc2e446941c612e275e21f2dde7a666711 languageName: node linkType: hard -"jest-worker@npm:^27.4.5": - version: 27.5.1 - resolution: "jest-worker@npm:27.5.1" +"jest-worker@npm:30.1.0": + version: 30.1.0 + resolution: "jest-worker@npm:30.1.0" dependencies: "@types/node": "npm:*" + "@ungap/structured-clone": "npm:^1.3.0" + jest-util: "npm:30.0.5" merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 10c0/8c4737ffd03887b3c6768e4cc3ca0269c0336c1e4b1b120943958ddb035ed2a0fc6acab6dc99631720a3720af4e708ff84fb45382ad1e83c27946adf3623969b + supports-color: "npm:^8.1.1" + checksum: 10c0/305a9c64d361e6be84e45d3b688da861569d43290a092ee05b8bc1e04fc5b3b8454423f14aa427902a5295487863fb857f7db79edbf2b9aca20874a94bc6f9a3 languageName: node linkType: hard -"jest-worker@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-worker@npm:29.7.0" +"jest-worker@npm:^27.4.5": + version: 27.5.1 + resolution: "jest-worker@npm:27.5.1" dependencies: "@types/node": "npm:*" - jest-util: "npm:^29.7.0" merge-stream: "npm:^2.0.0" supports-color: "npm:^8.0.0" - checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 + checksum: 10c0/8c4737ffd03887b3c6768e4cc3ca0269c0336c1e4b1b120943958ddb035ed2a0fc6acab6dc99631720a3720af4e708ff84fb45382ad1e83c27946adf3623969b languageName: node linkType: hard -"jest@npm:^29.5.0": - version: 29.7.0 - resolution: "jest@npm:29.7.0" +"jest@npm:^30.1.3": + version: 30.1.3 + resolution: "jest@npm:30.1.3" dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - import-local: "npm:^3.0.2" - jest-cli: "npm:^29.7.0" + "@jest/core": "npm:30.1.3" + "@jest/types": "npm:30.0.5" + import-local: "npm:^3.2.0" + jest-cli: "npm:30.1.3" peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true bin: - jest: bin/jest.js - checksum: 10c0/f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b + jest: ./bin/jest.js + checksum: 10c0/6f0c18d8c94cfb3158cae90d048f38985b8aab9634f2fd8481f09ac0839697bf4a14fc3ed46d9d16e5bf653cad3af12547af62fbc46f64b3f06b32f8f8ee7d55 languageName: node linkType: hard @@ -6273,6 +6805,15 @@ __metadata: languageName: node linkType: hard +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + "json-buffer@npm:3.0.1": version: 3.0.1 resolution: "json-buffer@npm:3.0.1" @@ -6392,13 +6933,6 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b - languageName: node - linkType: hard - "kuler@npm:^2.0.0": version: 2.0.0 resolution: "kuler@npm:2.0.0" @@ -6423,10 +6957,10 @@ __metadata: languageName: node linkType: hard -"libphonenumber-js@npm:^1.10.53": - version: 1.11.12 - resolution: "libphonenumber-js@npm:1.11.12" - checksum: 10c0/56fdf7ce107bd9d0329c47392d21649ee61b5ef210fa5926cb839506195d8482760982c9f75c207e97cf070be8ef2edc5a81db7cc3623f46990222945f4e0f65 +"libphonenumber-js@npm:^1.11.1": + version: 1.12.22 + resolution: "libphonenumber-js@npm:1.12.22" + checksum: 10c0/e7b126f11cec4b68c909b2907cbdf53324e718cddf916a5e9ccb47de3d82678d26af03da7e95e4525425ee11747d540e608f80a92b4d54f9150d71cc820ee5ef languageName: node linkType: hard @@ -6511,7 +7045,7 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:4.x": +"lodash.memoize@npm:^4.1.2": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 @@ -6636,7 +7170,7 @@ __metadata: languageName: node linkType: hard -"make-error@npm:1.x, make-error@npm:^1.1.1": +"make-error@npm:^1.1.1, make-error@npm:^1.3.6": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f @@ -6725,6 +7259,16 @@ __metadata: languageName: node linkType: hard +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + "mime-db@npm:1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" @@ -6807,7 +7351,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.6": +"minimist@npm:^1.2.5, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -7027,6 +7571,15 @@ __metadata: languageName: node linkType: hard +"napi-postinstall@npm:^0.3.0": + version: 0.3.3 + resolution: "napi-postinstall@npm:0.3.3" + bin: + napi-postinstall: lib/cli.js + checksum: 10c0/3f3297c002abd1f1c64730c442e9047e4b50335666bd2821e990e0546ab917f9cd000d3837930a81dbe89075495e884ed526918a85667abeef0654f659217cea + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -7135,6 +7688,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.21": + version: 2.0.21 + resolution: "node-releases@npm:2.0.21" + checksum: 10c0/0eb94916eeebbda9d51da6a9ea47428a12b2bb0dd94930c949632b0c859356abf53b2e5a2792021f96c5fda4f791a8e195f2375b78ae7dba8d8bc3141baa1469 + languageName: node + linkType: hard + "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -7506,17 +8066,17 @@ __metadata: languageName: node linkType: hard -"pg-cloudflare@npm:^1.1.1": - version: 1.1.1 - resolution: "pg-cloudflare@npm:1.1.1" - checksum: 10c0/a68b957f755be6af813d68ccaf4c906a000fd2ecb362cd281220052cc9e2f6c26da3b88792742387008c30b3bf0d2fa3a0eff04aeb8af4414023c99ae78e07bd +"pg-cloudflare@npm:^1.2.7": + version: 1.2.7 + resolution: "pg-cloudflare@npm:1.2.7" + checksum: 10c0/8a52713dbdecc9d389dc4e65e3b7ede2e199ec3715f7491ee80a15db171f2d75677a102e9c2cef0cb91a2f310e91f976eaec0dd6ef5d8bf357de0b948f9d9431 languageName: node linkType: hard -"pg-connection-string@npm:^2.6.4": - version: 2.6.4 - resolution: "pg-connection-string@npm:2.6.4" - checksum: 10c0/0d0b617df0fc6507bf6a94bdcd56c7a305788a1402d69bff9773350947c8f525d6d8136128065370749a3325e99658ae40fbdcce620fb8e60126181f0591a6a6 +"pg-connection-string@npm:^2.9.1": + version: 2.9.1 + resolution: "pg-connection-string@npm:2.9.1" + checksum: 10c0/9a646529bbc0843806fc5de98ce93735a4612b571f11867178a85665d11989a827e6fd157388ca0e34ec948098564fce836c178cfd499b9f0e8cd9972b8e2e5c languageName: node linkType: hard @@ -7527,23 +8087,23 @@ __metadata: languageName: node linkType: hard -"pg-pool@npm:^3.6.2": - version: 3.6.2 - resolution: "pg-pool@npm:3.6.2" +"pg-pool@npm:^3.10.1": + version: 3.10.1 + resolution: "pg-pool@npm:3.10.1" peerDependencies: pg: ">=8.0" - checksum: 10c0/14c524549490954b5e48457a4b808df8f619f6deeb3b395b0cd184a8f4ed65a9273fe0697ba0341a41d6745af197f1437eb1cf51fff0cbbf5b0fb3852ebe5392 + checksum: 10c0/a00916b7df64226cc597fe769e3a757ff9b11562dc87ce5b0a54101a18c1fe282daaa2accaf27221e81e1e4cdf4da6a33dab09614734d32904d6c4e11c44a079 languageName: node linkType: hard -"pg-protocol@npm:^1.6.1": - version: 1.6.1 - resolution: "pg-protocol@npm:1.6.1" - checksum: 10c0/7eadef4010ac0a3925c460be7332ca4098a5c6d5181725a62193fcfa800000ae6632d98d814f3989b42cf5fdc3b45e34c714a1959d29174e81e30730e140ae5f +"pg-protocol@npm:*, pg-protocol@npm:^1.10.3": + version: 1.10.3 + resolution: "pg-protocol@npm:1.10.3" + checksum: 10c0/f7ef54708c93ee6d271e37678296fc5097e4337fca91a88a3d99359b78633dbdbf6e983f0adb34b7cdd261b7ec7266deb20c3233bf3dfdb498b3e1098e8750b9 languageName: node linkType: hard -"pg-types@npm:^2.1.0": +"pg-types@npm:2.2.0, pg-types@npm:^2.2.0": version: 2.2.0 resolution: "pg-types@npm:2.2.0" dependencies: @@ -7556,16 +8116,16 @@ __metadata: languageName: node linkType: hard -"pg@npm:^8.11.3": - version: 8.11.5 - resolution: "pg@npm:8.11.5" +"pg@npm:^8.16.3": + version: 8.16.3 + resolution: "pg@npm:8.16.3" dependencies: - pg-cloudflare: "npm:^1.1.1" - pg-connection-string: "npm:^2.6.4" - pg-pool: "npm:^3.6.2" - pg-protocol: "npm:^1.6.1" - pg-types: "npm:^2.1.0" - pgpass: "npm:1.x" + pg-cloudflare: "npm:^1.2.7" + pg-connection-string: "npm:^2.9.1" + pg-pool: "npm:^3.10.1" + pg-protocol: "npm:^1.10.3" + pg-types: "npm:2.2.0" + pgpass: "npm:1.0.5" peerDependencies: pg-native: ">=3.0.1" dependenciesMeta: @@ -7574,11 +8134,11 @@ __metadata: peerDependenciesMeta: pg-native: optional: true - checksum: 10c0/20f29a41a99bad5931faf4d4a01e7be7fb27e5b5338fdfb06d2368e295c3d3d4ef49958ad57d2b17bad108e5c84574db6244ed8221e6b77a767f64ef12564119 + checksum: 10c0/a6a407ff0efb7599760d72ffdcda47a74c34c0fd71d896623caac45cf2cfb0f49a10973cce23110f182b9810639a1e9f6904454d7358c7001574ee0ffdcbce2a languageName: node linkType: hard -"pgpass@npm:1.x": +"pgpass@npm:1.0.5": version: 1.0.5 resolution: "pgpass@npm:1.0.5" dependencies: @@ -7594,6 +8154,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + "picomatch@npm:3.0.1": version: 3.0.1 resolution: "picomatch@npm:3.0.1" @@ -7601,7 +8168,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be @@ -7615,10 +8182,10 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.4": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 +"pirates@npm:^4.0.7": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a languageName: node linkType: hard @@ -7693,14 +8260,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" +"pretty-format@npm:30.0.5, pretty-format@npm:^30.0.0": + version: 30.0.5 + resolution: "pretty-format@npm:30.0.5" dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + "@jest/schemas": "npm:30.0.5" + ansi-styles: "npm:^5.2.0" + react-is: "npm:^18.3.1" + checksum: 10c0/9f6cf1af5c3169093866c80adbfdad32f69c692b62f24ba3ca8cdec8519336123323f896396f9fa40346a41b197c5f6be15aec4d8620819f12496afaaca93f81 languageName: node linkType: hard @@ -7728,16 +8295,6 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: "npm:^3.0.3" - sisteransi: "npm:^1.0.5" - checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 - languageName: node - linkType: hard - "proxy-addr@npm:~2.0.7": version: 2.0.7 resolution: "proxy-addr@npm:2.0.7" @@ -7762,10 +8319,10 @@ __metadata: languageName: node linkType: hard -"pure-rand@npm:^6.0.0": - version: 6.1.0 - resolution: "pure-rand@npm:6.1.0" - checksum: 10c0/1abe217897bf74dcb3a0c9aba3555fe975023147b48db540aa2faf507aee91c03bf54f6aef0eb2bf59cc259a16d06b28eca37f0dc426d94f4692aeff02fb0e65 +"pure-rand@npm:^7.0.0": + version: 7.0.1 + resolution: "pure-rand@npm:7.0.1" + checksum: 10c0/9cade41030f5ec95f5d55a11a71404cd6f46b69becaad892097cd7f58e2c6248cd0a933349ca7d21336ab629f1da42ffe899699b671bc4651600eaf6e57f837e languageName: node linkType: hard @@ -7822,10 +8379,10 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.0.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: 10c0/6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 +"react-is@npm:^18.3.1": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 languageName: node linkType: hard @@ -7873,6 +8430,13 @@ __metadata: languageName: node linkType: hard +"reflect-metadata@npm:0.1.13": + version: 0.1.13 + resolution: "reflect-metadata@npm:0.1.13" + checksum: 10c0/728bff0b376b05639fd11ed80c648b61f7fe653c5b506d7ca118e58b6752b9b00810fe0c86227ecf02bd88da6251ab3eb19fd403aaf2e9ff5ef36a2fda643026 + languageName: node + linkType: hard + "reflect-metadata@npm:^0.2.1": version: 0.2.2 resolution: "reflect-metadata@npm:0.2.2" @@ -7931,14 +8495,7 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: 10c0/cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 - languageName: node - linkType: hard - -"resolve@npm:^1.1.6, resolve@npm:^1.20.0": +"resolve@npm:^1.1.6": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -7951,7 +8508,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": +"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -8042,6 +8599,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^7.8.2": + version: 7.8.2 + resolution: "rxjs@npm:7.8.2" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/1fcd33d2066ada98ba8f21fcbbcaee9f0b271de1d38dc7f4e256bfbc6ffcdde68c8bfb69093de7eeb46f24b1fb820620bf0223706cff26b4ab99a7ff7b2e2c45 + languageName: node + linkType: hard + "safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" @@ -8088,7 +8654,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -8108,6 +8674,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.7.2": + version: 7.7.2 + resolution: "semver@npm:7.7.2" + bin: + semver: bin/semver.js + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -8154,6 +8729,7 @@ __metadata: version: 0.0.0-use.local resolution: "server@workspace:." dependencies: + "@babel/core": "npm:^7.28.4" "@golevelup/ts-jest": "npm:^0.4.0" "@mixin.dev/mixin-node-sdk": "npm:^7.0.8" "@nestjs/axios": "npm:^3.0.2" @@ -8176,24 +8752,27 @@ __metadata: "@nestjs/throttler": "npm:^5.1.2" "@nestjs/typeorm": "npm:^10.0.1" "@nestjs/websockets": "npm:^10.2.10" + "@types/babel__core": "npm:^7" "@types/bcrypt": "npm:^5.0.2" "@types/cookie-parser": "npm:^1.4.3" "@types/express": "npm:^4.17.13" "@types/express-session": "npm:^1.17.7" - "@types/jest": "npm:^29.5.1" + "@types/jest": "npm:^30.0.0" "@types/node": "npm:^18.16.12" "@types/passport-jwt": "npm:^3.0.10" + "@types/pg": "npm:^8.15.5" "@types/supertest": "npm:^2.0.15" "@types/zxcvbn": "npm:^4.4.1" "@typescript-eslint/eslint-plugin": "npm:^7.1.0" "@typescript-eslint/parser": "npm:^7.1.0" axios: "npm:^1.6.7" + babel-jest: "npm:^30.1.2" bcrypt: "npm:^5.1.1" bignumber.js: "npm:^9.1.2" cache-manager: "npm:^4.0.0" ccxt: "npm:^4.4.92" class-transformer: "npm:^0.5.1" - class-validator: "npm:^0.14.1" + class-validator: "npm:^0.14.2" coingecko-api-v3: "npm:^0.0.29" cookie-parser: "npm:^1.4.6" decimal.js: "npm:^10.4.3" @@ -8203,18 +8782,20 @@ __metadata: eslint-plugin-prettier: "npm:^4.0.0" ethers: "npm:^5.7.2" express: "npm:^4.18.2" - jest: "npm:^29.5.0" + jest: "npm:^30.1.3" jsonwebtoken: "npm:^9.0.2" passport: "npm:^0.7.0" passport-jwt: "npm:^4.0.1" - pg: "npm:^8.11.3" + pg: "npm:^8.16.3" prettier: "npm:^2.3.2" + reflect-metadata: "npm:0.1.13" + rxjs: "npm:^7.8.2" socket.io: "npm:^4.7.3" socket.io-client: "npm:^4.7.4" source-map-support: "npm:^0.5.20" supertest: "npm:^6.1.3" swagger-ui-express: "npm:^5.0.0" - ts-jest: "npm:^29.1.1" + ts-jest: "npm:^29.4.4" ts-loader: "npm:^9.2.3" ts-node: "npm:^10.0.0" tsconfig-paths: "npm:^4.2.0" @@ -8306,7 +8887,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 @@ -8329,13 +8910,6 @@ __metadata: languageName: node linkType: hard -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 - languageName: node - linkType: hard - "slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -8489,7 +9063,7 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^2.0.3": +"stack-utils@npm:^2.0.6": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" dependencies: @@ -8512,7 +9086,7 @@ __metadata: languageName: node linkType: hard -"string-length@npm:^4.0.1": +"string-length@npm:^4.0.2": version: 4.0.2 resolution: "string-length@npm:4.0.2" dependencies: @@ -8654,7 +9228,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0": +"supports-color@npm:^8.0.0, supports-color@npm:^8.1.1": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -8702,6 +9276,15 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.11.8": + version: 0.11.11 + resolution: "synckit@npm:0.11.11" + dependencies: + "@pkgr/core": "npm:^0.2.9" + checksum: 10c0/f0761495953d12d94a86edf6326b3a565496c72f9b94c02549b6961fb4d999f4ca316ce6b3eb8ed2e4bfc5056a8de65cda0bd03a233333a35221cd2fdc0e196b + languageName: node + linkType: hard + "tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": version: 2.2.1 resolution: "tapable@npm:2.2.1" @@ -8904,36 +9487,43 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.1.1": - version: 29.1.2 - resolution: "ts-jest@npm:29.1.2" +"ts-jest@npm:^29.4.4": + version: 29.4.4 + resolution: "ts-jest@npm:29.4.4" dependencies: - bs-logger: "npm:0.x" - fast-json-stable-stringify: "npm:2.x" - jest-util: "npm:^29.0.0" + bs-logger: "npm:^0.2.6" + fast-json-stable-stringify: "npm:^2.1.0" + handlebars: "npm:^4.7.8" json5: "npm:^2.2.3" - lodash.memoize: "npm:4.x" - make-error: "npm:1.x" - semver: "npm:^7.5.3" - yargs-parser: "npm:^21.0.1" + lodash.memoize: "npm:^4.1.2" + make-error: "npm:^1.3.6" + semver: "npm:^7.7.2" + type-fest: "npm:^4.41.0" + yargs-parser: "npm:^21.1.1" peerDependencies: "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/types": ^29.0.0 - babel-jest: ^29.0.0 - jest: ^29.0.0 + "@jest/transform": ^29.0.0 || ^30.0.0 + "@jest/types": ^29.0.0 || ^30.0.0 + babel-jest: ^29.0.0 || ^30.0.0 + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 typescript: ">=4.3 <6" peerDependenciesMeta: "@babel/core": optional: true + "@jest/transform": + optional: true "@jest/types": optional: true babel-jest: optional: true esbuild: optional: true + jest-util: + optional: true bin: ts-jest: cli.js - checksum: 10c0/c2f51f0241f89d127d41392decbcb83b5dfd5e57ab9d50220aa7b7e2f9b3f3b07ccdbba33311284df1c41941879e4ddfad44b15a9d0da4b74bd1b98702b729df + checksum: 10c0/f99d612704cda98369f4a54d3db771bad5edd1390fded4f1691f3182f0c8ce8b7f827e5846952bd8bcd26df26c9fb18f11089de760956bdf357875a5f1d49fcc languageName: node linkType: hard @@ -9020,6 +9610,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.4.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -9050,6 +9647,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^4.41.0": + version: 4.41.0 + resolution: "type-fest@npm:4.41.0" + checksum: 10c0/f5ca697797ed5e88d33ac8f1fec21921839871f808dc59345c9cf67345bfb958ce41bd821165dbf3ae591cedec2bf6fe8882098dfdd8dc54320b859711a2c1e4 + languageName: node + linkType: hard + "type-is@npm:^1.6.4, type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" @@ -9187,6 +9791,15 @@ __metadata: languageName: node linkType: hard +"uglify-js@npm:^3.1.4": + version: 3.19.3 + resolution: "uglify-js@npm:3.19.3" + bin: + uglifyjs: bin/uglifyjs + checksum: 10c0/83b0a90eca35f778e07cad9622b80c448b6aad457c9ff8e568afed978212b42930a95f9e1be943a1ffa4258a3340fbb899f41461131c05bb1d0a9c303aed8479 + languageName: node + linkType: hard + "uid@npm:2.0.2": version: 2.0.2 resolution: "uid@npm:2.0.2" @@ -9235,6 +9848,73 @@ __metadata: languageName: node linkType: hard +"unrs-resolver@npm:^1.7.11": + version: 1.11.1 + resolution: "unrs-resolver@npm:1.11.1" + dependencies: + "@unrs/resolver-binding-android-arm-eabi": "npm:1.11.1" + "@unrs/resolver-binding-android-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-x64": "npm:1.11.1" + "@unrs/resolver-binding-freebsd-x64": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-musl": "npm:1.11.1" + "@unrs/resolver-binding-wasm32-wasi": "npm:1.11.1" + "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-x64-msvc": "npm:1.11.1" + napi-postinstall: "npm:^0.3.0" + dependenciesMeta: + "@unrs/resolver-binding-android-arm-eabi": + optional: true + "@unrs/resolver-binding-android-arm64": + optional: true + "@unrs/resolver-binding-darwin-arm64": + optional: true + "@unrs/resolver-binding-darwin-x64": + optional: true + "@unrs/resolver-binding-freebsd-x64": + optional: true + "@unrs/resolver-binding-linux-arm-gnueabihf": + optional: true + "@unrs/resolver-binding-linux-arm-musleabihf": + optional: true + "@unrs/resolver-binding-linux-arm64-gnu": + optional: true + "@unrs/resolver-binding-linux-arm64-musl": + optional: true + "@unrs/resolver-binding-linux-ppc64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-musl": + optional: true + "@unrs/resolver-binding-linux-s390x-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-musl": + optional: true + "@unrs/resolver-binding-wasm32-wasi": + optional: true + "@unrs/resolver-binding-win32-arm64-msvc": + optional: true + "@unrs/resolver-binding-win32-ia32-msvc": + optional: true + "@unrs/resolver-binding-win32-x64-msvc": + optional: true + checksum: 10c0/c91b112c71a33d6b24e5c708dab43ab80911f2df8ee65b87cd7a18fb5af446708e98c4b415ca262026ad8df326debcc7ca6a801b2935504d87fd6f0b9d70dce1 + languageName: node + linkType: hard + "update-browserslist-db@npm:^1.0.13": version: 1.0.13 resolution: "update-browserslist-db@npm:1.0.13" @@ -9249,6 +9929,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.1.3": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -9479,6 +10173,13 @@ __metadata: languageName: node linkType: hard +"wordwrap@npm:^1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 10c0/7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 + languageName: node + linkType: hard + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -9519,13 +10220,13 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^4.0.2": - version: 4.0.2 - resolution: "write-file-atomic@npm:4.0.2" +"write-file-atomic@npm:^5.0.1": + version: 5.0.1 + resolution: "write-file-atomic@npm:5.0.1" dependencies: imurmurhash: "npm:^0.1.4" - signal-exit: "npm:^3.0.7" - checksum: 10c0/a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 + signal-exit: "npm:^4.0.1" + checksum: 10c0/e8c850a8e3e74eeadadb8ad23c9d9d63e4e792bd10f4836ed74189ef6e996763959f1249c5650e232f3c77c11169d239cbfc8342fc70f3fe401407d23810505d languageName: node linkType: hard @@ -9616,7 +10317,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": +"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 @@ -9645,7 +10346,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.3.1, yargs@npm:^17.6.2": +"yargs@npm:^17.6.2, yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: From 985c2c3019795f90bacdbfcbe8b4c1e42c47e661 Mon Sep 17 00:00:00 2001 From: Faouzi JEDIDI Date: Thu, 25 Sep 2025 15:56:04 +0400 Subject: [PATCH 07/21] update node version --- .github/workflows/lint.yml | 2 +- .github/workflows/playwright.yml | 2 +- .github/workflows/servertests.yml | 2 +- .github/workflows/vitest.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 62848eb3..5dc4cb6f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [22] # Adjust node version as necessary + node-version: [22.15.0] # Adjust node version as necessary steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 059116ca..84f0c096 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -31,7 +31,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 22 + node-version: 22.15.0 - name: Enable Corepack run: corepack enable diff --git a/.github/workflows/servertests.yml b/.github/workflows/servertests.yml index 0d2fb9f1..93e5ba87 100644 --- a/.github/workflows/servertests.yml +++ b/.github/workflows/servertests.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: '22' + node-version: '22.15.0' - name: Enable Corepack run: corepack enable diff --git a/.github/workflows/vitest.yml b/.github/workflows/vitest.yml index 53bf0e32..a59e50aa 100644 --- a/.github/workflows/vitest.yml +++ b/.github/workflows/vitest.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: '22' + node-version: '22.15.0' - name: Enable Corepack run: corepack enable From 5e0a573a5c28dd28fc3912e5c2f32af6221dd5d9 Mon Sep 17 00:00:00 2001 From: Faouzi JEDIDI Date: Thu, 25 Sep 2025 16:05:14 +0400 Subject: [PATCH 08/21] update workflows --- .github/workflows/lint.yml | 2 ++ .github/workflows/playwright.yml | 2 ++ .github/workflows/servertests.yml | 2 ++ .github/workflows/vitest.yml | 2 ++ 4 files changed, 8 insertions(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5dc4cb6f..378ec006 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -41,6 +41,8 @@ jobs: - name: Install dependencies run: make install + env: + YARN_ENABLE_HARDENED_MODE: 0 - name: Lint interface run: yarn lint diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 84f0c096..5d491bdb 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -53,6 +53,8 @@ jobs: - name: Install dependencies run: make install + env: + YARN_ENABLE_HARDENED_MODE: 0 - name: Run DB Migration run: make run-migrations diff --git a/.github/workflows/servertests.yml b/.github/workflows/servertests.yml index 93e5ba87..f65b70c9 100644 --- a/.github/workflows/servertests.yml +++ b/.github/workflows/servertests.yml @@ -40,6 +40,8 @@ jobs: - name: Install dependencies run: yarn install --immutable + env: + YARN_ENABLE_HARDENED_MODE: 0 - name: Execute Unit tests run: yarn test diff --git a/.github/workflows/vitest.yml b/.github/workflows/vitest.yml index a59e50aa..c41740fd 100644 --- a/.github/workflows/vitest.yml +++ b/.github/workflows/vitest.yml @@ -40,6 +40,8 @@ jobs: - name: Install dependencies run: yarn install --immutable + env: + YARN_ENABLE_HARDENED_MODE: 0 - name: Execute Unit tests run: yarn test:unit From ee1cb8c3f43c91865791cd42480f62c0ea89bc25 Mon Sep 17 00:00:00 2001 From: Faouzi JEDIDI Date: Thu, 25 Sep 2025 16:09:02 +0400 Subject: [PATCH 09/21] disable pnp --- server/.yarn/install-state.gz | Bin 0 -> 942724 bytes server/.yarnrc.yml | 1 + 2 files changed, 1 insertion(+) create mode 100644 server/.yarn/install-state.gz create mode 100644 server/.yarnrc.yml diff --git a/server/.yarn/install-state.gz b/server/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..9bb2c05d03be9fc017312a9bd9ec52e92f3cc9f7 GIT binary patch literal 942724 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�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

EcevyKZmYnuvilWMt+on~X$@u*A= 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� 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

)Xahz^sqH-M>uom9{dP_51W%*p|Bu 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
E2qJG=aS$Au3woftZ#Sf6K7XNC|I=SsuYdgG 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�jjD6wgi`WZ@5`TTc(Ql})WApkk&u7jCA7wE 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�pzysx~r=zOxva)A=h%da>svu{<}Hgw`#K?1S%dOOOMGUq*@;qh1s0D>}} zv=m*Y^5=$)fJyP?#p<#JX74;BSI7ie0j$ek2Tldm3C;+$>3Pm2L3f^gTN&r9(2rjX z>3gzM+~FqQqYKXU=bgaBV(Yar*05|g2w5-J>V4n)o!h~|L#o~KSz=z0&RM(|rQtjq z&s)iaQh;^dFRh7SPYM5@{wT=l#z_!Y_8MSxXZBck9dUIFJfgwD=J7bs<5pauDJ%Kd zZ9!=IBznxH8~Pt)I;SIAT$t!b{CVe55>e?}q5bKsm z`1~8TcE^sz`qJv1eix(ct@T+b$wuOM6+)XkdS9P;yuLzWqsgfq==HoR*!tvzAAz*= zi8)&wAybqHj5c>ga)NTGSn+_~?m$FHuo>2K8vKiv(7Pde9rnwWd)m>qGS8cs?=z&$ z9vd0@whnd$teZ2j?~Rb#SoApPGQ1O?2atS9A97v`5UHxs4&Q|w$v}4!-<H3<&QApKZ?xvyq>t7tR%#D|>Qn?k zkU-kL_2)1SvV|7V!L6hztm&Ln0+;zAwDqPuC2hD#!;&(rE^SuiI}W0jtp#d^V@#)O z%R+0_ZglMvf7Si?R`>SY6P!*9-CuY6ds)Y@#ZNfrZWo!e)!}b=g3LN_QHPLsLGAi8 zs=6I4?dzWo>VL$=Pv@z#l;_}A^&rQld~Y-1f98(5eY90wxp~Oy1WQ*}KXa@xxH(Ww z+0>DU!?4&T{_-u1hZ(}@mlGtEf|@V9(1+><**kc|bifx0iDB?m~RFJCWZ+sU%dnk8D_B%rRz_g*5^p1P(JQA0$ zZ9)*KV~vF%kcLoX)0p8WXP-qfo!b$fs#=Tf3Qr9fAEeiaM7@t+zmZEj`qsT(|K^UE zzqXGrd@{KDH0pGQ*o4Pn9ssVe3;~1eu)`DKvnELhl?eY*HMA?tE!gj0mC?|2#I?LMt zdB49zD)7aJi+sl+!%t1)Ri7L?seUc*-7kSHp+CbB=in0kcunuLGL&bvR%wbu?*T+K zURw(-&{*hr5z5}+@P)pRNcNduSbbbF!*2}J;sM8}c#W$pV)JH6#J|{Ol5u9m4k!B)np z3>w`+sYznCaNeRdBSI)rOWDEh@b5zR1K$O(OM#NC_D2cs`|Slc`{L{7vOy!BaTY3A z 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

|2s>WwN)aztAu!$ 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

b!!K1^MowgY0#~q8(tFR^uhyT(XbB| zB=U%;u^0zbWSc$(s}EK*+2?SJLp3`3#Dc7VLk&JOs2`7(aYU(-S`cioh|Aj`3};Ck zB+v>X%xBI0c&6y@#LKU~I&lYfdFpF-uK>WgbiS_uc>BR`uK;-JQQ-eSnf!Q@$&U|) zn$8QuOACjo#3VOW9sq*f&n4EAb}T#fQO9^R3f-$?K(_>X)QVivXOFpX6OSNr ztDAI#IxPr^=>W?BuuL-fu)wl$dkBPttPUb{=F!eFqoy~<=^O6#mX!(X{$v|6%&Q%% zY@`F~XIo7X9yJ#-f+aW*DrBScYMPt4Y-$S)46258Xgkdgi%6Z^@p$^_&wlad&DYP) zt5=TK+HFe%ne?4}cK~Cl_}?82IP|QW3%|Xi=eFI$W1c(VEYT;N?hJ=3Id=4Mp@9q8T`K zwA`b|UQpuRCZ+sC@9g2fdj9(Po0qSi{qp?!Zsk4o6?|l@^kJ)&Kh0Jv`1mP%@aBHN zY?_gia&^rK6;SJ8>NSn50|Mdw*jZF3Ko-)#DW0_9_`HsVcCo|PIV-xa3xfBbuLU?Pbo9lVr{j(jCl^2 zcH2c5z)Q}RgLSPr7W^}#U=Z8PXNz2W5^BWOJJRQ+3?LB%E>oDwhNeK`fN5V6hxvO?voNCk?6 z7->DT3i)&ksl|wltgFpBU@w9L?Dzz;q%{Sm^@^(9t6&-c=?qbKx=|$cKB*mI1pJiSvd+ zFu;67FfyzlT}Z_v0q`9vLk2J_O@LptiakcGTXXtPzkL4XdG@Gc_^B`4-FcyZPM`Dp zis5%3{PqhUguJ%VqoQ?qmTe@GBd5?ie%potb>HX2+Of}-8>NSdQm7l|))&YZv&GpF zATzs(Bc`oS;sGKd;z|kh6}-Vv$OFbZ6|sS1Km0G>!@|depdrNuw65F%(@ldDVu!3Y zyidemALLyM`4WvCZ4ESXtWrknDB6%Ukt>D2heXpzu(Up?+HL z;N~F)w)MP{7<+AVW7=N074WZgpvdN}W%+l${^b|X^7$PD|@L+xMR}K7E0tuo>hh>Jc7t3 zZ#c|EbHrrCJi&J$`Ien+kcS1$hyV3^So3ETTz|tW8EkG-5=c-t;$p^bf}jzcClZlq zb4ePggd45A;@KTYBpW#(e;s4ivB(5bJ8V{4$QGZy+aOQUsTGk7kXkxVk=y=I$=s=@ z&%(|LK0<(~cuaU55PgfZ1UDjBYE5;-W@VR6+u>cEjc15qhegy~jadW+bI~;%+zBD~ z9!N{RPGY$igU&z*6y)1DrJubzuV23S)p-_wl6TnrC%$rzl-3`>mVWg1=ih$a8zBOW zPp%zJCqt?+5G$xouAO+*Y;Zortc~nILb$P6F76xD+!z3M*l|8lRts@D$n$es2>qAyuH=&Kpp17hBA`f zAfU#7Cigl`@~CFc@DA!t9cO`#m>RN&t(!NK#?myYVysz6&~vzb9oe}9iS)6YS6^;> zAle@8^tVTQ&vlR8CbU|?VsoB= z3AUx93)z;n9*A`BfwLJ9rjudmME-RQG_XJ|fgWYFgAwwzf2;!?00^cq&TP{hnHWD) zH@fB9$ruETqnItY31GuQOGy-MC~Ccrg?G;)D}f?H7a-=D(^P9ZQs~fj)l@~4qau&mXgFz$1U6HK>8cKXDl$v|lbM4#bs*g~~F7*x}tU39}4o^Bw^z1dC{`I2?=?V>$e@ z3wy?Z`w(ow9YZZyHQJp4Nl^azng~Q3E;G7GhPi97FAx#4)U>t3xWi^mc2n-Ib*5iO ze;SN5nKQR8=wKRNJx!tjWI!n3hU?I3S%;1lN7#*Z%6;GRU4Hk)t8bpgj$hop-=6xq z-L1EAQ$UW7R6q_o_}ac#TLbeKsNVbOyDsSZo=y^3){#U!cOa=Hd=F#L_kt`ogLR$9 zSELz$R!AxY!*8rq048ar)4&$AY=&nokTdm+p6%g(|2~=pTz+6qZAr82I7o)MgIYnP z19Wg7-6zx9ye7(VYY3 zR=bm_EtswGFZ0>ENP=%{1tK1`k@GB$v6i58lv*+0jmry&VPrlWUXuqy-nutik-+ng z{3dZX3#3j`qtl_y#qJoM!p+--S3I|S`j5Z-=Ea+PUg%R_wD*_%-}+V)DbHTKdHw#2 z_Gj;Z`Vp2t+@OXC?`cIbH`Mb}#+f~PA3F9xp}a{(1}4X+={PWo*FH{&MC#TFN5_b{ z5q`xkI}sy2D4^}qX4`xp2(5gOpS6-B*jytX{*Ma~V`!xHf(23C6^`y6)S>~K-$8tu zg0xpfqfVLuBP4A$j^l-xjW`=y_2?QIZ8aV%=C*mfqjKLEH&msp5^Hkprb#jc>Es>{ z|L0{^O-TKzlOd#MsVxUvZH(O@+MS1BKgWOq>CrR5{1Cx=8cilcj5~K8x(JAp>hM0% zA$q$H&(k>-u^*FFNow?tZ|Ntq!AGzj{;wZgyncXV7QvL$;Dthh6NV+5p;p88VQump z9x(8XebD3YXL+=9f^`w1zuM}77Ei({3b(~N1@R>0Nppcj;)i8cmou`l54R1WWIg=f zKllWcr4Rql58j!W#dkZg0BePEG(ltO&`WSE&9#S2OmzCn!J`#Ialq2d=FF%Pk#12cyALS6WuycVBi3@iX~8P>s6ntMsofy#uJwArLFJeTD!%(Hbg9FQ3c}YFOE3Ohiza(P zXzk2qvLF7r&wl>XkKUp{{OStZB@+?2I3U6 zDmI)E$B3KDq(xHc&`_uneyQ{jUV|K>Inj+-r~tUs2Ql1Ifj|Yt^O}_F;h(?WK-WnM zxFk&Owk+Sh4TG;gBD8~?xqL~9ddKv7cVsw@5m)E?+Gzz0DAdL&c!P&7pTq$dq)*_; zb1{UjGuF(;soa!ePqD5K|H5Ygt$yTsL})em8rPf!5>g*ZCy|ANT5aNW1f3a;*<%xL zuTHC{@6ZIhs_*WE9K+lNG>aJS$?@XNF|1)HSs5KFB=$X{EVfo`Q$BYrkhNP|L5dTI z0Jv$8Yyw2A)5Ha~-@<98OB@txLjp*aE1xkIc-ARi0OM9gu&XJwX0iP>b}v z`laSZ^ukyV{~{i~jku!)SSx&t8wr4wbn!}CFAyTp*tuY*3ly@&WR*CG=14C$I^r_m zCLmD*>)IgQq(K9Fn}M~86&6H?dBWH3c20C3NsS)+)=IP7Q*s|FS+dXZv_F=@bvv@V)ZOS2Sk|HeQv z^7e;+@YBmMap0>trHopSYYm-r$~Fx^5|69MnQIG%uFdyJqM6Xs7&0&jzKTn9T-g)o z)3sF#v2;hFJs2yRaO%;O&D)7%lM!_VCH>eBe;?Pv5uPQkjxd&XE(|C}C5s_yIFqjU z?!D)xC|ef>)h^s?ZKU7My?G_zK~k(Rb|y2=dMZ@agKj>r5m&v@;5Mo+wFf z-W*T;b#7a{_43u1&vL)nj}g3Q2KJ}KfQ?KMacLkR8dxrBc2-I2E_JjdjKy1e*^JvCQ52qC3u1dzUxK$PPkqPzM8~ zPne-brHs-H#$}-~nnO(|(`m2#dn>f)u>d+LvZ|cx;>Mpe|rG5;7Z2 zYjc~brB0_P&Eno4{^jeuf!wINNYZl%W;%T~p!Iue0Bx*gE9EQo{hRA+tpqZ}oR2{S-ERnmqPt)n^HaPC7zs~Js^vm<+7ccWM z++#r;!=TeDK&g%q2F^7)RB$}TO$&-6qN5l|kF)z`JyVaOEJW1JOn`OCZPdci;p(9y z+jNa{HIC4WTB$6MH4U5X0Myn}&xgy3-r~#fXf~VMmf7xOY^fpU6VDmISuP11AEvRU zsX%;87mAC+1W0o6x|#>EcMKcQl#iT{%n*PIfhmG%oLQD@9nQ6z9jTIvEA46gasUrIR0T2wj?Tv|l2@%uk_q%M zI+m@q6WN9wL6*2G#W^Efk)LtW9{$zOJ_YLWzxLVB|L~)GGR}rVOS^0pv$XWk-u7`R zcikOdq{SRPz!!==`+^K8PMz$REh}xY?!&wt0+`w>&3*j{FaMC5^m>_U>lG3TxC$Ee)#<(gvMuZ}+j|tOgty*1>tP>?i zPqbNsQ~+8&8?oDMf*I63l9(R;_0K;3ux}7w{+(hWvH@@-CqAi7(@$&D?p@ z%>5|7khRQASx~zjp!r(PoiXbo?veGj5F!-~X%9$=AKXM>Yd#$cS97S`OB!-Sl{@<0 zV5WBHtPLCB*#}nq0ogYuUb5H8x$(w|eE2u8{|GQf2a3DS*%G;8i4Cdz9B3pUDLiP1 zgC{Z8rmKk|(&r{$9bwsaVzjg1T@zR%2C)ngpd+{;)^CJh=}paknJs+>BYgX4I}iWn zHQM2IDg6rLxfXQbgu}Mp5A}`Yj?4K7ykgsm5Wkw;78~J;3}oM~YqUKGWB=Ll?~W!4 zuq0{uhaW#r$L)oY2`S4M?U;ppS?9K971+DBC!X116YFKy#{Q3>DY*raDcsO z>T*KJgAU-Lazb8DXP6~5YkdlY;I@_?j|3Lahn}_|*OaBs+GbyI0Jd1O4AZcOfBR}H zQ6EX0Q|lDUvE9uBei0#5?TR4T9#aFu_t6M6mV;pC)mX;pv!H1Pp)D9gKP#_Uno{5$v-$$(R~rl*na@@&=xt$q-d#yASPJu_wEZQ{Om ziglhsRUK_oM8VRYD98r-a!w*Uw}A{-BNbWG$m`p*hZV9bw!!GsuRzjUpTkpso!e+O zfBwZ+-+bxk)#s0fy$@igdLn=RQvS3RvVE5>t+oMn4m_NwGW{&-<4`3=);8OKl6|K! zW-GA=9iN_Si_C(TRcW>Q4AS+31$aW!|J?v^&jJleLgGmAhb~A2Ly3wb_bgonZ$! zp(8%4Xsxr`!@qkyXRX5Fd1agfkUnfwV|$;qYyfAoB05o#I$~_6t$EDyY(x+vX;0ZH zrq9)=wS%#6@0_R`X4}1hU+*WS8DtLyuv z-X_%G2b-7$*;osyNLK+*XL*}vB3J^hC7-%CimnlfG6kVK^MF)bdv7JfynyGlJtyLZ zCNLtz#FP*J{`IsgD4TxX8O)}F!$UmyikBaFuTUf{h#Y4c#(zNZ_Z=9R@pA3iyxddxr=lfvNCiM(0saDsjQY)mIaDAnv+f2IWr*9 zefSTrZ$V8AF%f%=vr%FA8FP>6Th_AXJ{N+e_gR`94H7h6M>LFWPZpMuxvzmn7Y2<} zCpd1iV>sh5T;n_lYXPt3n=pbbr)eN3#CiCSuGJ|>`nmG;M#Sj1S zCviIcPpq$f>u1<{NKig8N?$V<@mBT4)kXiijB=+*-TW*QKK9k)_OJ_;UD zMCUbKNa(|VdUX~V*^@SqC{#W7DZvsRYZ9Sxl48;- zLU3Ndl1~#fdXW!}iUEc}jBhriIR&|Ss&^mGxgD_(X3`NKgDm5NyBWNJ=uX;Wj$81^ zQ-7UX^42%sJkLk=AXx{SJ(ASxt^}oI%21&P_TmX zidBY;#D~BC)1Uv*$3Fa-kKOxhGm$rdLK2}^`y`%6U~qZsSYtQs$D(FyqZYSA3sf}i zaDo*h)T?U4zKNtsuf9T~Hs%CTdt{m5{DlV3@oK!V{R-dtq0^U6PXv9(e`<__wf@ye)qvg7+V99vB95eu?T5>hWsZCFy{%c zn#3CvPZ$QP!!01)c3NgGRAv``z9S48)kzBJ;ifn&mr$rllT*tfch-5 zL|+T@JH4c|odl1sH8DeO=v)rFs_s4K=>G7Ze-C5pw&fa2)kF!9C&tBio?W0D-w{4x zI358GY{=R+0fY_cLLqOR#=urC!Jz^|W>k+dkAd+D9pQkPX_fcR92l-aOWXTkgn67> z#QRg<=|`WxKm5gc@%4H2j=BBpLg?M8ub=utKK3|%fTaELyAM7&iwjL|kkvH^?SS1h z1kM{Ct-!zpd5bWH%ynkX^fQAIR;LHY%+cpL3$(Wdo=@qX8qmCTNldg2@{`Cj(1g|j z?VQ`$5NIaXjJ!QDKlNk&=o0*g-z~vk?HA7ztM1wLm7mx1`<3|A*Yo|A__KE_v47s* z>xci&x1W4+Yq4dF79o>NBsY?ZO3-^k$mgiF(Pf`|=-xeJf@7&!Gp=?S(meMz#{nG9 zw22l~O<9Z9hJkY8s8QC&CPGR8a%gbQISen25Z}gW@6lvr2@os;vj@VlzrcZyasBON z-o0Rs8k0b{ZZVS+1cWWpH=z6}^PFheFYiHi*9qsK$oKCj+9eL$xk8r5hv<6_$97t=j__(2SDK%W>}P1Y1@FcZ6D^-K4b}fKBKCZCjnk zfE}e_h?ejgK{==c0TS@1FKWCG=0oVUf#Huv)P(k7DvzUx4~6KyVzQ-vxBI>y4EmEV z&YKHLb+^+#@wIy_#g^WG+x__62cO)kQxF;f^Xh@doF2ryc?&`WTkiEjw_r^H*X9fs@y@C9T2B_wo)f+3BNj>3%qLPL~PO+=ZgKgwKf0F*Izt){?(g#yWXDqsy(W6pc|dTCwRgTlpq1~APBCsQ*!P_ z7Shitib_xvf#aMDdVOGcRNxsMh=m7WwDE~XV{`YMm89<0cJG9%dNj`>P}@P!=-pHn zdeX6(BKTGa2c1$~oIQFdb5ea5gNx zP(+&o&dlBnQa5YG*^X_VUCo)0pUW5^&%=;(-K@6X|N7)V~~hXBN+}!?Oa~$afvu; z`Y6<0Gg=kgzp)kr|6zNG%m$nf<>r3-ikr-Bs$T#sB8*tOo~zLvS12>`+k>&gWNZ!T zGGTnKQfYCiMPvd8fA^R15y;h@m=G1X@hCGgPW&uDQdt_q9qk)Rmcw*X zoOZ(ay!rtJ1Jmv#A2atF%7)Bw;4=GwH;&c7oY2PL+}^^(0~*>nw39(IGUqu3Vn6MM zH%KDFYr|iJH%j_0!OXhpu>&~0?d+2lh;A9Jja^1QF0>-=?hJ>x%spvb*;E*UCw$vN zI>5cqn??6Gzgu*<-`uMRpZMB6y5{U=&3%F=h%OqiSA;pkBU&I;W_FV8t2T~g(@`D| zNJP2OGPfDZ+;qEa2L-vG>#{%yi4ab$Jy2dt(^>_WCu6eO7})`1 zLVUNvr8Ul3V!8lZn-BlR_n}*D!z;>iTR#|W@3^dy-TDMNHEa8xrZQ zXZeAc+=g9^Rw*BWX&^G6a!TuM%$OUg-A)X$#Jrlt7|lX-%>7R3HI`S#;aWh*lLyE? zNY)z=x9wBCasc_@P{y0$P%|J2h3B?+a3%Hg)el5^J;l51(Bw@K|>dCfvzbe z2=xH@ruSwhw;TNHZ@&Ke<*PTZpI!OicWTuqzIczQRX?O1+D8K09vl?OLqw0tX>uk? z;W2fVLS3{p(xXXrMyJWQxOE>e{^+=<=BP|SypGzN+V;Z`k{)f_YaW^dR;K|}a39p{ zat2iZ{GzN6|K<0v^bH&&j6Zhi0Y^B`a-9vvmgO{wWkpP5JKEtVHSL{`46)?g%+Mn* ztS%6h#zJ#2qSwWtX=mrzT2Q%qU!JJn<}9We)#hQnv#fEmFetjVX72`uUEuzwsOOQ% zqt+tb=j;mF6_7{6&)33NQe*t7&4pvwkq+S%g?Gr?g4be?nG#_a0A{*a4=_K2$688v zd?rUs>ixj}i7(otOxu3LwEY-H*FD`P58R0jc@+juU_?xU!M^t%aSb34iMJ&B@Dyd9 zq({9gr|IaEJQkEI_$PzWL|JH+WLw(tI#WYB4FY2+kQ*Op>~>^}KKxhT!;;@qd`@QJ z-7Snl%QJKs;C4Au-G2W3=7djI)!qCE@^CS06s&z{;Ct#24qlOkw7L z?gAbdO>FxavIg;?eY@nlc~U#&TG_xRMj$q|bJ&13 zTi`{@GZ}~jL{AqT>#%=1fiRyc>1I3E#_Kq+D;NUlr24lm%|H5st3iJWsGhxzOnLVZ zeE1LEygK*w_7eb>Kxw~U(MPs`akB-CkFo_o(tp~PJ{Lsp18ek>z4}SW#)Nio2>Bdi z4P9IZk1_BmBksHa`m^n8r1sTouqx5cxKN`rXEWu|kN9d<56q_R~{; zoxgPHyc_yF;>(n?JWXsf(j_1j?cT+KA_@wU3xzzd5 zGke=`QE$AmqF1%G5Zt(CPEe-LbO>7*VWQA3C;3v40tfBgR{|XaVegqUc!+y5=&pIl z+%ZeE8}Hkp@l$`Dzx4k8-Up#d_qRFyK)?*E&RCa!)p&21YJCzQ*g#n$%ge7shH}I( zO-&oLrt$&;lT-RGpg+50wbc+SrP?R@+R{NX7~I7m*k@$GsnlwY0F?0?Zu3(!3vPFS zC;mD&MbD4&_%~lXayMb?>}#$H?h_8=UFdy;&;V)9mEm-stFNraT>zpv#G|S7stKT# zv_?veC$tOWFrq{865mG)+F=e*8V=1q7qTiPPq!B3Ft*)#^!amndpmcg8vJr+H^8IR zaKagC$S?=6vm@^yg+QtWA}VJ_XgHNvIKw{xk}7Z<8jxP-atOOb1{YN!&SK-?Tb9FM zrUPEjbi!pM5C8RLV}@t_K+w=nz$h>i2OOXV#-y{l?U4p4cpoczn_9f60f1OAiVOqs z6^}*G4v{k&=8b-FIF5S-383Sm?GP>JG-%V-o_6$%diZZHQUEs%G|~W2f>vW8wyd!p zg)%$3XKS;-8Su^clS58kI+8hQG?dJ(0maj6oH>S0bVRz1fk3Rqz-OAL5(+v+ zVr?C!HXi=lPr=fCJEnQ!uX7h0aK8N2dG*K>)&V)iEdb4__ZCgTL-LawTvOy*15->} zA=K&w-c!q&!eyfy;(BE@xv&8o7b%vsfYNF^eDE1mAf-)3Yup0UPbo+y2SKgz;S=`W zz9>Yxk&!6eM#JMj6sUM3XzDEjual-@FG5Wsz-BSPdQvbeRgvsDVUEF(9vr&1w}42p z2${CiW&lgyV9V2NB+eYg1y0l*#rLVd&aD;h&Fg3T>*vqDdGq|mqgJ?d2lBI^V6~W& zNSb7#M_Jnxd-)iP)`1f}uvme@LP%6EA7F``B~UU-37@U1`w@*OfF@g4)54X;5|6bz&wypq&000zTc_X zo&$j_-~{m7sPqA+qLbkzkEy8oo}-nv#W@K92wl=I;ab6B2IJLI&f5~`slU#n@}-~t zc|G*V?Iw5xAbA04qk!}Pfv#2&+FhfD5?D*{>=x2a4L!4URzHoiBUu+F%-q;olaZuM zfssS^HcWvk3deo|e1DrzL4kCPaJ0c^t@iEh{u}?u_3W-(y#@)GzpeK?HDHsQ&ByR&@c$L?Ld-qDgwH99 zc--F5r~W#(IJ3X-R@!Q49!-I{c2qB`6QqjUGBr9J_nYh}ZI^-Q1#XB?KU@e?pFqBL zGeEbc_Y1QT$T&vAddaG>t2gp-*7BO54|`iMn`n})woANoIa`5c1_uBzJ3Wo!xX|t~Af!sQ3Zy@S#+|wWO}9}A%G1t8Mzl|?;S6cm9n`9`B@^ue z(+fuEtLxT5=ACE^I+d^G9Q&XhD2-GV_=eh5&^CI7@`;PG<8y(@Ylx+lWxm~39dHLN zh%4SEkFge9msR~cU%^k_ypES&)$=dD-PF-epmx_9dE%>gCoH>!J@1LzOqz?#(ee15kwq%Kc;g7-)yn zJKigZBg+ZL<=DbogbccvXnFtgE#-&wZ>St#;5!4V9 zh*wA1Q;aYuZ^_DKQVncN5RAR7kAcpCb-o=+jEn3G4c1;AG!AXN1T?RM%vw4p0XlH% zr{##QdnlBr_%HNKN!y0eGg4OpmzSN@_f)`fYzo*!v4B)u0M6OLqppF7mOjyoz-s`2e3+7M8=;sZfr@gFe|OfNTP4V6 z@<0PQkLP4JQJx#PPz(%FpYD*w-_KAQbGrSTfpjgaYGCfA&;kr`!PV zdPh}G5Y*hB4R*YI_0_XK*)Q%8T~B@C9zh-R4eFSG`w8&(;mWh^fEQd+dQkTlX5Fm= zK5SZo0L4E0)LO2ICV(0dBlg~9xdj6%;1`6ofP;O~(WTm!gp zAsOV`ZWo-pqhD}v#>5s18TK^mQ}M|aAvysy)YS{7QEsEg#4x^Ze9b!9OwxBMAZkgZ z$W7mfj2K9R$Spl1_5f%nclKVqZLG0;bKWkvA6*OX-iY_K*X*v8o1YVXfCqT@!Kbs@ zzP*ya>(9UXoaV;iZGul~RWa0@{<53{o1buZ#^8}O}0uo$VE>Tb2u0P&BM6Dg(q7xxvXe z&a$*|i{<=mzxv{?pnKvg_K33agT?oww?BV6Ywugr0IxYEc1QG8->M_JSna^sotVu< z(XaEt2`C9Vz`)4|H1?*_J1nxK7ep{?Xb1nQR22go2}k}8_(|x6V_@G3GT8+$$_ly5 z?%-N*=c4&BuD{g^X^mHeeISzomJ-HXh;jz-tr+OACC&*9&*VbNG{{-&OghND0{4e) zQl_2Rr5i$}5JFlEDfN_GdlJ#X!2Lr_VZ1u~&3X3f{Nvv|e|4W}`@|RTk$R49>{0Y7 z+M|q#Igr2M81i?OJ)ny7*4tc&Y$HPQ3GikSS;b{bAsGO$ZuGT5?wzYgC@2VS$3Y)E zbIb(6?TmE@Zf{v9&JLdlok$^Qkov9nxErlLv9bO*0j?Z@H?WiAvl2N zthY4!1E8T5Q11v01iCd^-(e+f6b218skt3KZ4JyM8U)u6q%X!$?dt7=603+sL5OU& z0HbCaw+$f8%~JcrU(ILn^2@KEzc_DGZJ)h(?stB?C%%M_%1G%(M*0c9<>rP;bQuB! zoO`Q`OUP@p+1QnBmrn%-2+9VDzE{0xu7_-TXg|YZM z7>(bib|RtxW|g*wRAg&x$}y^O1@s1mNKV0RY>D?^-A=TA@awx1#8Y3eM;030EVNH^ zJ9UYY3o;7mPS8OYs01FhX|>4L=v=WUDkB2a6AI}Goyb945f7jJ$`pn+yx?UK8t|Rv zGHz%*fC}9W$&eTbz?3Ni)<+DjZ<}&^T2lnj8CM3i)d4o{YbWw8vIf&4ooggJ0&7Nh zo<0X!2*3m%oD3Q1-c{5SexgymyNn{m8udW8FI%Gy!#U^55ah1z5WUTF`JH(A)$5lp z?i`;_ebw&HtNnA*56-LaKKSI;+e!<}DyxdL6mi=~K^6q#GH7S0FOr zL4as_AtG(p5;=mrM_ox{a`vTy00a!a?#`q zj@dP#Zt9i;8K8>zSsj%K!Hoq@5uE^#(Ci2(!iTBj?qsE&S>2>%!<)f#?|t?pOWqPI zuTi^{En>u}d}qe^PVDFAMZDWH$3+m-s%U+3|adfnZ7QOWV$_k?yC z%Z-O)m=DS6oOySVHpkd`_D0YTvm)PacAjlbIqB52^8 zbBFdb$Q8;6+7mga{GA-^M_8!uge4#MJ;vMDYHN%Jebz)mlGt(wL&CVv=@2rq1f|26 z&<6SiflT75IrFSWNP-p6P9bE=HR^cGo z#|Dm01uSWVLz?Es7ZpK=yg36entd6Jdl)X^5OpZl4&npo3F3&TLYpAiv~h<;%Y6k8 z>jsxXCq^ZIQ;7e;cQB0SU%ff6ezou7;h*~YJ&M$8H%PsYVbGg`Bn+FUugb11JW-)K z-110d1W{hq3bd_ih=+!?x~K2d=dXHcyU6Lj z;8AAxR`4drXxiHBjJL4ZOz%Et%*Bo}3nd^q^-itR#>1+~6UlkCgzyLX(5bAp>5AdT z+j#bwR-J3YyS07YO`jvpc>p*QDzT7ZOmRXe8?@)0_DU(C)1ea_P_FA40%v3`M`;uywV{r7_<{gv zdSiWSuT@p~zRyz<$5F4pxjX)U#hIjzC1 zS>THS2%in&4k;myMlfk0T6&hzM*cJQQnG-rPKm;Z^1`seMl4Wl5qCB8Sq1x??0O6h z6VO6hO9OTdv|+hMAer)DIecgP#O-VC%OVx2EPM528}4DLp?!RXe~o~I|^^X*b0OcV)q4FP3=K_Vp9?{@{n`8E!~g_wm+2Ovep8MrO`zBXbI zpz&z~l`c7b*=*vBvS4S*PAI7PiaLw0|Mr=B`&hsC$GHtp{?_j&m^@RCn`zF&98v=) z@eQ0CL221zgn}NT!yKEXEwVbuYIA_176uv}%yKm$2-C?8FoJn`H2YQm z#lPsl^y8s`wDZwai=1oKMbTi%Le^xvjOz=AHW`LCV@lkHC+_`mZWBAd^Xs`FWCZWPuy#V^H7=uW(>w@Co{m)bpnfRCA|Je_JzsB5GckE4L?&k0Q4Sl+A{6GKOcmKj~ z`>*`$haWB((c{odYMpR5&r}-LpoRc1VcNjfduqcsa|{<{T}9ZGqko9F7Bw4zKa7}l znU4pSb+Fn`J~P&YVRN@0loBnn!Fq`y^_cnqL?Q@DFayTpjyLCo7Z;7nm54UuPzwlZI0}Rm;*f7&!0V@Zr=H_ zJw76m+Y!;X;S6lk^)R;UqUkj>7^T!<+U>#_T`K{M=POa(wzdw=oGb@WDh7M;p`&6A zZ-;?3Dcj{z=-cUHV63{$ z5+^jh0!V0d2yu=h9h(U3Y}%C5g{`u#cms8m_ZVjvZMAgQWBT-8U#ujY_n?qX=j?@d z%WQ?7&Daa)U`XjIU{O{Lx}oZ4;|k%d0w=I@D|Q*m2^Ti;A<^UG%vB9|S7VU5Li*^i zA*7FHno;m=1JZwcW8L}VJa%J!BfyXP(Cyg7wc`nU@)*}r{h)nmwI{^JGHgVIOsQE_ z$P;nM-fcrLT^2{g$66hc3yhu@?YX)VyiakdviDjLVN}L}Mf?CDIcMJ9S@fyCRqJ{z zquv}#I+;A6Ba10V1ILF<=rK&s6@ktTovySS*``9E=ge_r_h^S;liKN7g8ZCyS3QO{ zwL73rs|IYXIGbiwfqI_j-VdS&_x(7x1EBqLlo=n%r1)A=K=kR{Xe6N+hIvEFH3aUr z+CsSZxEtyq5^V#;OQ=lbQIy37%C;@B@B)HJn>2Y?x87O~fc&fbpgeu5a3tF>CiDKIm-^lI*m!y3;%F$Mt=327dmf)vD& zme@_tb{teTbVH46V>~j3ZQ6^n04zPAHFtmdpIj#L=_R0QE_nIi+ZDpJ{wfd?>#;Q~ z`U;TTI^mm&?fAZk#Z4S2wz+ibywW9Ur?r+#S)25WwlGK%lxI-54wQQr@Go&#sd|gh zx%bDp#a})99C+|2SfD(577PBYg4|lDg*ncDyQQ&B)@C*Z;0v>aRM6Vy2ypqeSt7v- z_hr_s<8XZ#uP!8Hg0{}y(?LmI0uQVg@`<_zp(qS%L!|cg;k_l8G+*}?u1}iae1bQN zw-rK@6UYl+dQd;{+4ttI%73lAB8m{jG@S0 zUkPtPi8)8d-eTF){}lHYW}>4nJlj^_02#5cMynO+kUG}5a5_?Fk)Fjqra~fgNH(3F zL16DP&gcm6g`Ub+ldECkN5m0$gk(-Fq_I)72MAc&5Zw`Dc z84=cim&;AuTbn>)*nukSv}*oM?;zVl5uLD=ZK4@RG9`?4&V!@VlX{v09JO#cu;Lqm z%Ht40I0JkHX3si(qvi_)on6EX=Ik>ocI?9w@_LT9wDH9Ez8l+K^7KFZWm4W4216@d{PmaX<=p4b-Qa>?Z zj9PO}WXu6>ja=Ti5Egm*pMUbRfByJ<>sm?93l6KMDLydk%Y$15F|`INhy=-40z@ga zXKi;E%!`DrD-#`QGB*Z{Xtoy5oT`lQtaULCq z`~*9tCof*UGXp=uifoP70@hUtAIe(d!+MA0m!}apYlcj02lk~mtI;=TQwF%24M*sI zCRSus+Tet^hM-!LaS)?&&s`HZ^|jD zWjMNtL7A!v#muC=fN$76BzrPE9Xr>IlDed0U}PqMjZn02R7g9I#??C+&Gcq-ZWCE3 zn|NYVL*bZ-gIRQo32PG}Ip>(N7A7-?9J?Izqhso6m}wJ@gC24py+rzjUz&p4HZ7chQ&KE037H|?ZugP28aww(a^l(J;?~5cv5($j*9P`h%rcc zZLO#O7M}v*WXSvofbms*_lC1VOht!r_?8+cVD&yM$bRR@K&dWx1r)<& zKv`=pTh{v4(bOD~=y`e{2FIU!tO?E~>DU}k|BLJ3WyAi#5MJ^cqxhuXxyqmQK9|p!-b|(P{*Zfi&4+ZNLrJXq+OK(m6drqA&-K2@Cap zAzM8zhq(?9U88g2r;_O#%rQ=j99?n7IC|e8v#xEZ?pygmH@D}P>$D&3*I&GRv+*Q) zH;;V%@|Ul6J^4Joc=Aq`^cxZl5!F~JdZ$TNv*U{xs4FKX7IQ!Svo0CvK z0?mkbQ%^vU%853gg%A(EK4>t&e>-3;iK7Svfa-x9$lN5&eA+~-;#gY*3h;92;L%L% zs^dKUufGFj5FOr$pCB9tLo_aFG-2ci|Lvs2(JSL;=M)?Lx^9q~H5_F2eF`OR-`FeZ zKDK!XQVXX|-~IGX&GzXGlJL>8W`iks_ErOj_P3k#SqH-UG@hnQ{lGE+cMg<6M+3@K zEwpy?fL#wY^o8a;knD_QoncfR1q|Lq&>MSYnIN}#M<^0|mstmmv4bBQ3cA>eHV^rd z&iB2H_4D_3#C#T?y?FWh&9nVrsd4Yi_vkQQZieyS#;6Lj*n#u)gB^#%hSh_W;yMU# za&>2j=8BFliAL*V?pdXnY#?5XaP~A#N6?_Uh2U?Y%(IyY=t+X}{R!zh%F<*lCkpT0jwsWq-dlb%ccx;=T$e7RWsk2SAHU)Z3;nR@&+B#unpc75HO)MRr z{&%1J><8aEFpE@gdfYQI=jWCov*BU`yhbg0qeCnXJk9`7!Wz|ehl)XIy2*x z!t$_jrcu$t2byRCd(0J?9@W@v_cm%;T-KGrhX$MWbDS_|V7F_MmYEGeTHaJ^-txo# z>8py2^}L=y6BeI8peEk=>OI1tup4ileJicTwgwjNg?N3b;JdQMS_=pAP*X#oBkBaD zn@58OnIc&+TZK&Z(86+Z%>fxLXGN^^vrBikj+pdzL{p;*fjXNT4upP8ca#lz`rqRl zc<`SY;&aU^?+I+R;oKUKajc4Mz%E76+Q!~8fCh#$oLOk#n6ShXIaufs7M+sG5DCeu zndW<3m@RIM#W1WXr3!K3X#fY%)BoXGW+PPWUGQkE!)s?EhE-`K#3!Vn@5;HzIyT1C zaJI~Tt-Csrh7Bz3nfBfz6v3YavczQ`=|kZ_-#g|RIHD}H9TokVX@UFZ>Hqj$JO`4& z5`ulTruzchA1W=$Y6Tl#KjxTYV)}$28yUAEIl)Myk&UqF!(*Q2n4@B|P*}qj!Sf>> zW#vV9zDoC51|qy;oKYY-KIp%vr^YVuX7C2pg_%&yz4n1~wT~t^0AltE&t0Q!AYKvz z#sVW;0Y=r-wy~;e)MqfpyETAYD@a*aUx|1%)i@G3+D0K!nQl+*|Jgr2d-3|s%NI}H zyowjEA6pLJ`}#e4_&_&@58p;15kr!-KpG%Gnjqde05M{gk`qI!iD~Lgn^PE%D=cLM z1My8ZKs4blg|7No)fI<;bK&Ht0V|e$hQx#*&7#<$A%_D?*U1dy_Vj=Hvyfnh`5oi(2~XHWVGOcL$)X7sWC!pDMz6GP$I;^-{rcn4 zE&A{v> zEBC|{sRd4e-#&?V9asol!nHb|#vqGLJh-Fg&W^5~t~HGhpeJiE9=ZkNh$WQXj$Pzd z#J!~Yj80Cj^KpsLxBg(&IZ_8vFNL<6ouD{n=-t(dJ#fShNynx(?;7pzHlE`&#!$G zsEr9W0qI&2of#X^>3%7EV0$y7+HHYxxNx*&n3{CODK#Q;eY2oREUA%#84J>lP+2FZ zp|(dBvqfx)vd%CTLb9KM{ao+pm+(wgs%Ma3y_1eM8wGM#& zh`R+-H!~Z`P}>kr{)kD7X${@fr*s+)x7ixZQ>FLv0lTC@cu2;&kU?9MF5%%62xOZc zI5HRVvxOKJRsX6A^d3p_`wcF?{JY)EEdS}dndReud?U_k)2((P5^irtP;w1cOcC^> zfjs1#jkZq<@RLhB!O}>LTQ^`HmhaK?fD-B%gu|ajd#|=Cko20))JgUtbKMySC^hQr zv&k)s0zF1Og`Uj_SJYSJAOyZx+L$<9skQ;)#pMSrx$zVc9MkbOcxWetK#0q=vk%T0 ztIrvGpCN}LaVXn6FiV3_4783-Lk=(BY`3YgU%Y<#Vt)f^;NF++k%NK{c_s2~@Jhb@ zGKJE@mzVoFOtYV(Q&w9zx2xtnB{$s2yqFi(B$E!j%A0mOG*C2YwxKX}>K+S60=>rq z&9M=}|8k{<3yh(_`2{G>TUr$#z?*MwIrLHC)Fs#E+aEZJOm$83~5g;yX<BeLPVW6$1~Nyj^y6wbA=Zt*8SiC3@U zH&5O?`~3AIThe=9yFXQP(T>pH&fTmquhi})rG!pK4KFvB>)B;oaO1|XROFc zV~j2tM+WvAn>!N37tI||kiDXGy39oGvWA>l;G1!8l)%;8&PIr*c=g7$uxyC2)H?*f zFthodcr#hI$X0un9FQT!QSc*VmXB1B^R2E+WHuR%rG>Q`YQ~ zZ?C039)x4j%(w!KPo6!Pi`@It{i)t^h;o&K(}(j+2n~daK})QScf@wuLSpdcj1Bxe z<+3)RXGyBwdNw$qX@}xbv;cL$ms8@%G)!g~K4HgJ0Su>Ub8FKz)`*d}Z&oc+&@(-8 zj5@{^w-7qwjJ4%OA&EA3*y?R+;=mH?v=l?Ny|rwyz{^;t%N$^CVUI{HCOhphL>2ZJ z1o}EPI@$&T`!@E*q0B9pw_bno>e=THxV-niYLAlc+YRadW1>J`R}$-!pZ?X`1_Pw{~#M3oU9Y!Z%>ZWED4nZeo)jb2o=O$Z-LUgt^ zlm*8N$O2^!fm(8r;$;WbijRH9fdgF0`b9$(I3Wpad$7RBIN*ZPI)yR;MvDsFbMQhfc5N2XB1ZXMI&M#>=lR6AO-M= zE(UaB>HPq5mMEyuNtN^sb29W7=rRM&A;^mXFSoiv>f58Qy^fD$L=Z(s&NC_%ep>;B zXRQPEW2fj%rY{7vY_&PS(swAMi;UpeUTIplCul!;RbN!R!GIE5*ISR^ov+;^FJ!y% z&e%uwh$ z-{5Dij*-wIG&#|v7d4Ef$gHt|CA1`Bs6b_Qd$Pa1JFTt?T5><9`c74XBN>Y-QMATd z>qiRJ9Ldc->s)WYv*X$k?r1w{SsGUA2dVF~u;D!m4?A>?0w*mzdF;e7+aja}C*4v5 zezfEBdcNcJ1JBXDuiJzB&2X;&wfpVuuRpr`4fU`9hO)0vNn}32P9v@Kh;daFPu<~rJMDoL6!FE?*CR;7+`D&sW}sc$tPCW^XU05(EL z#yPCRLP{uXRz`MOQnO{7F}HNChM}q+D;!k%PTYgsy6jY8PTszk&)ssQu;$JcqsgA8 zt!3xHuEkW~Z^2s^>wHSR-RJ&jKY#XQz5I1O*l^tYx;^qvS6>rLr6benSz?Yn#_a?P1JYYew`8=LLbGm9f`5cV(I*ELjobI>ov+&? zUIzZauJwa=zwy!Cai{=U&)v&+LLR}0zvdx05f|(bFOZ=xaSz4JhVC1Y6&tP zlw=#LeN^&;kxfU5VQx5_*QN!S@I>niWyQEQ0qF~8B)8CuwL$E4tmbE8)}qeIOZ<8- z4$jr|5-3Bk!AEz^N{9r(O`)Y%scdzp-W_DoT9^pPPMl0Y8Hgk4D-$%&C5w}JrJEfk zOo`hk++XjPFMd_8-aPp#c>Ul}cjpWEr@DP$#*iilqyD(BuzH~-dpyFmHv%~k<%l6V zfvmweX3w>ua)(f@W(|iJ5+o($Q{(E*4h9$&+T2;SPb=x&3S8K0!J>-?UQD;gdBS+5 zy5>PF2q9!Gla5)BMk*jUgK2g2V8^togM+ODla+WMBOo?#z2F~LQ@eA4Du~AiU?|*X zj*dK?MO&k;p%=k=)1tL_aJKSUy?Fhb7yCh(>dsf~>v!8IcqPFKCjXLWCtW0Qnht>rY5{SeQmwW+-#B^prw6U zhkhs&%OxDyQ%A;q9m6nr@UGe$sHWRgUHGcwu(a%DI~NYWrq1lVoBtxie{-oiZ!8e8z*hIyg-e8B<2PUVkKq5;}A%XTNcz0Uf1Wp zdN?b)_eFbj57BP+5FgW;?#m1L6P((;{pYXxq|2Cbc1d;uVeREIrB9Pxm?6vbh6&9K@wfq-r|y-eGASt)^s{K#)L^4i{_(=0x_8 z#VzoxAH00c)!M!gD!InMj}(Ux`bI(*oI+FOH0e{@$_W1nXALkYz zmbHHQXmqckTQL2g+TyDy&I!4&Bgk(p7; ze_2usZ@op~{b52edWV;MpVN9wu(p`V0I2H}(Lo9Jb|}Ui6OH^$N#OJlFt4(YfLYxi z5dz)!K)Ab5$6|ZLF8O;&5=G zrfjE5%R58@eVcB#)r{ z&&0FkZ1Tq2!M|OuP|QJ{X%vDVAN5_xqrm$Tl5m(Kri~UDPKlQ8(I+4k1{O`qP4>1I znUdFDKupNOAq_20i>`vfT(pkPTO*}~1|jA)sA356!B~zk-u(z_>4IUTKr`&R0;^CZ zmz<5^G3dFdmlag+-U8|o$=hZ4y+6+53Y4$jxsNFpCc;838KQ;5eJzxJF+_3z+Yjh| zzHx@%PiO*ju3+;s#^4OEDVIkEp5iICnc6m$!8k-yAk#LYx*U*1%xFzV$*M!!q}=J& zmI2JdT$lt9_2AX;h;y_S)MRfw$fQaZg!R}j13o(x`DP66z<1jM<{r6(+T4zC9+F+Q z%(IFaH3aaft}s;4nvg}On#0v{o7uVZ$GP3xf8+OZ4oDl&9G^bG}@OCDLkSLU448B zx%;!H^HY7lNb-#=(g|w^tq~h*;#trI{+~`%cop#iXABd0-h?X3DP}Cb+i6|5r~%)= z2WUIkSTV*twx`LYWwvNsNjEX*gm_2P%-NwFxczqC`{UfUbbjmia`+{>o?XMr4j;6y znj#sor=nXlQ0gjevARu9f?=DzSwgS-X`%J{+rp|r7@ zo(s#~($6qE+g+HUbtuD(9>_Cg8QR+bhMJZ$GC-3YKxF|`R1+kNO$nlPoq-mDDD7R` zp@O>XtomTMn>)LUnziDCZglUv=YpmRi)lEIs9IEvXtehrP3NjJ!YpIQ05cb-v{pdO zN}TFE);1k7MEzzV!oJ3Y0uvNPK@``6y2ioGb&iWBwlaau-E3PB zSHj!>#01(juXfJHF~w?g9zaUwLQsQ{w(HAKTgK{r6i(sBFq*ghRA?gD;Mel0*bwFb8$J1$lfvhoI4$W2gq)oNQ4m;X zxdjZKo1#$Pd61s};)^G*UcP+u&vnN1HZYM04$*|=W}OTL&@*j09|2QV&ML%lZ7@SAkJ#~5 zRfyeZ&m0UmP~2`>8dGKE(a5>Aj1(ED2)XVQMWYv7dt7Ak*pC82DS!xKE7@xV&BjB%`YC33-5f*zJ9O$`P=7P zYoE5S-EDvN{&zmQ`)vX~0_b7Hqyi{bY_;BbdQ8lzs-1JdF(hA5f5MoS26ZM{EFJ1= zhd%RA>xYK!gOf)I+iVIrfK43xoMGoQ@Ns8?_>U{k(r)j!-q3jVb`%_Qhe3S}{1-z; zaT^0P?yPJV`|?8mO+I`5=I{0|UjNp$8 zg?SEV(2`R}3*42nWiTb;FLNzw8;rr6K)p_!;jY<~%em(XkQZF&4DhpWX%K()s?PJ; zZ=QT!ZzAK(gEq&#FW)0T!4GB3^l{3VjR2HFTBQ2I6(LNMaQL={!ea>(8LBRoIOoV@ zvF>P54L7$uN#3L(AGyz%CkMavT2HDIE<+fba9`HLbP+T8oKxCd)c8DDHU>T@$y1<~u<^l-G%za?fjw8_^c-24e+e z;xJb!j@<$5x3=4~uXY#DUhL=b?A80A3pQ)(<*y%jr|x|D9=v<$Q|X`fujLK??EUY2 zbhjSnA{&{1MWB2mWK_-jzM^Jh7ub3qs@&NGe3knpR2jTGmk=3w**~L2w zXke3^pkt%MgAfx@mBJAP!p?xqZw-))NYi)Z`g z=kW;Ijl@V<@`a~p(sWI!5a+GS0E!kQM)HWA^Y-V7 zMO49!1ugx#ZDst$=keLI{S8H+dtbUog3Cf*KSTM!yWjX0n5E~e8H*Q$Ni|nbnv!ES z-+czMuSamqlZ{)jqo$At;21fWus5hPCTK+qDT}qO1p&Zt!O6i713ITLB^&_Mb|pbB z7obBxOXTVQ`W*m!VL-lI77HGz8A7P3wql<&=u9uJbID+K9gI%F?4EQOlh|A*;c%D% zPdtJL$_5;2j^pQKLkyjRX+Z6%PSOT3j?IA*Y8vY{NmxLt&uLt>VtA7^BaY2g)ca6w z%VLErZvl$!u-aE$3=p@nBZ6pjBLV^j(0X?ajMznv;OG%}fmVlL#1WiTR+~~}#!N!v zcG~d0SHFI^tG@RodnB#(A)$JFON46HE)Ws7nD9i6QXjw>iU#z(=&Q`p4jn5jrnyTZ zemko#fOmx_fW2f8X`>hc2JKNnO=m#7ffon`SZ$L*AcCE!s&qFS8vPdQbMKFHd*t%w z_48-z(Ja82+UOh%nJFXE_E=~6lI>?Qtbe{q8-T3U@OJ?LP-xj0mVG2Fq&|Ai)dZ*B zfSm0PRfIwO7&I{iNvL|eVF+oJr=zFtDf(d+fZuU_zV#=^EJOZB#AQt^gE7>Mlw#F8DNeL&kG$UbZOSOZXY_!1Yw9ysxj zY4G_xm_9IoowFhTvGqi81PFcwo;oq*sXjt73OZSgjsaUmMH)=6gH_Xlxke8{CvF|p zR7~&9hXJwG6q=Ha!gf1CF}e3OEo?cB+YIuLeH16{%t{8YOK54h`umg_?mo)Jcr{IW946h_w zLXx>4aAL((hwB6J=kdj<`jP!q<8-ftI*Z}p3xzuf=uK-Ly` z{KE~>yWjX0VDA536aDX;CVCDPI*=nqWG!G9Mv-(`99YwmH9eaYE~_0XV*!i{j5pL1 zeYc_7#-)q?4 z2BI{%oK|}ain%=y>KlgX!F`_IOnW=pXcEeDctRU9VyF{`qljX}8PwJpwA9m@JEq3_ zpw(>CCm{kvn+6hEoab1|>8k^u+K6xxGp8ySB*bg-e6YUFdV^u(^JnW}wfW9h?vEpH z`VNvkb=7jicd*A5M$-p%ga+Tcz$LS7FF>K^j^PWVZbWzXB<1uZEYbuw zB?y?<%h+0N+AhieJ2^a<#>K1q8oPwu1htSB_zCuO69G zNR~LD+uQ`*^%w-35ELaT(fSESk7L_dj)ImgRU6fVfk~)Ch|$N)wZLjeioj&Fjx>wh z%BryA#%Z6j&zaLaw+$8#A{=4R9*)#qr{-jmx{)&{Op_kLRWprxHrARG$dZi%hd$+0#tGf`9%=s6d28*8*|!d%ifAP)$EG{n!R zd>Q7yq7YBt-V@*IsrZ*)kiUHkIlZpRJ8Jt^S+0#iLf<%SR?H1MHg_G4L0$dK*d5jC z?TB+s>#ZH_#l0vhTX{nPctSdHl6$D=;z)%GQ8wDI1MUDB8zPFesVCAea6q8haoX*6 zN=?)e6l~Z%!uB8`QqeoA>QLGkF`QVZpP^%n!`d4FTEPY%X3$~>Zw)}Ic1lK^c5EItZ!4YR#6XK|Y~9^g)(j8!L@24@kpt+w z4Q{Ko)IMdDoxuFz99e|?Fp9eZu$s}xBFY_?_CUzTZ7*rGiXBqvu}LR%f8AE-*436W z7Q>U^zuoghC#=uSWDKkepRnuKL1rcIj>$mc*NcN(mi;@>CGcfKhj5Bcc^k5K-dAH0m{bA(e{F`w@?sV zf^1vgTNtcu!qJ(J))}ZB^!1%5hQ~f>$}vEzFsG*~#;_HKM}jk{-Yb`6Q*YH`G$@#F zGt#YQqDblF#*9QKw)bdUz|0bJwGP4x1M4_pq{E?f*pOY)b{qJasI;u*8+LOEG*@Gv zt2C=i_GuVNTZaL30R4^S+Em5xf^HvizlrD1pFKjIyz^Ci6m(BFp!<*UZd;BafcsYK zp*b7eU~8@@iO8(nSpq0Q!%uNIy5()iYE#FmF*^>OY(w5j4fMU!eKo9XA> zBXBW{W?dLWt>%-2 z2RGU=_nyJfo#QxD(#6_lNmCkV+g3Y!E^DjYQ}&jzbl(PJ{vy7><$H3T)$@FC%ia0X z{i&|u#=&eKt*|XooWtNFy&aqpuN2nCrM&?GU(Zz`QAW z*zmRpFnRQJBz=Oa=Q9k-XxDIVOF%GvfM?NebIf8ihm@cm5G0sz+i4GPnAVRIBh~>G zUd&YJI^F~V-bF{ZsV5t--LwRRP_X1r?#u<44|u3m2qhnem(?*1+n&51;90)^>o@h{ z!M%3xYxd~ljc*=rA7S%Dc5UK{^0sO@yTE$P7+XN@$_9_>#F8R`vCVX3Gc|lUbYwEO z4u~Xx!%zbF!BWas>L#Q$c_of1rF9Y(iMA!s&(XLrB+7{`37Dh0-fz}z;(x9E*Jm7i& zAIA;={c;`3OxA>OfYhkh9)`5ItmE#R_!IzUu!=Pv<`X@fc6^c5Lc38;y0zZXhJN~g ze4|?wtKWfI0vGmG3(H;#$PQU+pUDD>L^3x29HaV)Jg1)%?dk^2!6DHQHQrF)!6F@7 z_x6lcpaqyKt$+%pkDUwH<|DM^$nkuz6uk4td32ocN&MnhkCAW~X4`>`dc)XsYkAOE zLDO{%$sSGUY7eVa*QzlKj5zbTJffN~cD+M=8X2;b3J;QmtiVn`JGIloD&0J=4PI!x zpmE$s_zel?-Z$CpJMYdP=jJ)|4L`%-4F_60#xZt5Z_H3_L`~aIBJ4iXzPQId8HN)b5Nbb=3(NF9$E6$P$oiZG*+T!l^q(1XP~G~_Fz=)_9u_cn^+ zuXTe(`SCj}%7Z_-@rde?(*%9a&5G7~H=fjI0p;0;8VE0cvXUz>0C~pJb%o zR=)22aURR6{qVDT^90|#$KDhH0&*+>zAcXL;D2BH|JM^oG$b8sKCGu}A;?2)JKemfk70H6PutL1N#+T^oQFmOO8vr0r9F zy8^(W5&_~Z%g00rcdT({zwS9Ge(0e6wRJN>Z-%O?#u}?ZOo}9?iZAvf3)91sXBw!EfwISX^f*|pwm~*nr)sy=dX!dYebH(Xg1qT7}iK->E`q4|MkhE zD9=AEb<+!hP$RGwnEKgNmOAjZL0pc<7)1`uF!AQ1u~DO=u05rB?@nUMbYLDXn=}>h zm^~`s+~f_}>$2w9aWSt-z?UY-_}-S?3KzQoQN0K2nX`7^HDp1eG(p;G-f-;gy3x+3 znnXOe?4bsKu^Id-5*F=%94fj88(^@Dfl==n&Jr7AWP+{}DNoRQBDMK|q4v>f_TT)x zo_|rVo_z8Am!Ca*@%TIQ-q-Q507U;_O!V$IKDuLuZnjb?A}Ux85lQAK380W6SJISP zps3M?ew-|kkKJ@~UNX1>whsq7Yh@LY(CjI+)qU8IfQ^EUP=`Vzlf8R5t-TLY+P6&_ zrQYViqqz{%JON#`DNf^K2?W%VyQQFRNEpe0tTj!yH}3?&fYOX`kzrw9jB>Po996w=w^-ZAG`~$ynW{>d40gmqBUJ4O7|2?g{;aqs6G{bo#Ep6ym@1Q5f5UkySC)YvHR3xnZNgb!Z{D!$Bqjd#n-dq?P={@++$0#dJGhx?wB zRwA!1*-=>U*odoPm!Q(-Y#b*vl_F> zoDB}>mhO%Fx@;EbR*G`(kMrn(<)2^o+TZ{Ee);OLJ50nlr3#RwvD?P5Xf@;>(xp>x zww9wAEjo1oN;iQ1YKB-nqk64!b!e7tEac7@ysB@XyYdQ_dB@$?7dm{|f!GTq4_8}u z*26pOJ1S>n%Yg?e{2wHQ#tDE`4RDt%$S%U6IINVClb zJ~}Z@wp<06d*tQab@i3aPQN53DJ#)o!`DBMO7Cl!9F%vnI+)S`q&oImY|`|BbMA+q z$3N7QeD)xueDBNlM{6G6Tg3MC|M?D@$3lH|I_scMSHzW})_O~pnq6>)o*|GWWCF}5 zx%xi6PZh#R8bbp%$-&oveH>oPfuciUH#uomfbJYs$b7A{Mzppfwyo3X0cgU57Pjm( zrqqHW2GW^wzS?2LliN{nB62F3gRt4`q@5^C1258+p}3rj(bJH{Be(WAV>jZtkXQsN z24(P;n_E&>kKQMrrMG7~-+S@$iwBFddtb6YPK*pc3_hl%Mb&I>mAr2LMWLl$)f78u zMj>_$n`len#?^{4vEqI?)Ql9F6M^9&>0ELUm~orVZi;j3i56{ompal;9}qHaU`3w( zzu)E!|Ne)G{5byUtK2wm&>J>}X6om{N@2hU?P>>fidl3V4TGpGi5(1bX6d2h|6}h> zel50?W98%DpHai;<13tzr%qNI)y7Yh*I2Ywq*e!z2;DvV7?Vo(F zZ^73e=O^!AaM_RR0unnJ!zFJ=7{RcO#ah8zbdXLG2;T|bfhZPKZs^9MAGaZjYyDW@ zXakf~-%y}Awbg<_;V}S2fp3NL|L8GT405Ake6LE`xOvujRzk^UTeB$!c(QgUXIb9Z zw+8rd8@)d`7EY_Z6sSD)O?>o~kh@pneVDb5Ya_N5m(GgK*jPgi>=1-I9kpbZ#xyJjB1sU;v}HO&PhKT+iJrl?f9gA^ zgg7EeYs6@cD5QJl!U@7deL#!JhL%}N(e-E)^3Tn`z8*=)gfj|`X7(FD38 z3;?t0r9ce{Cq5Y)2)kMaGEl&rxD4L+x#c);2Qm#=9LkuT`{~l7^6}uV-}2rGI^{}sL=L*6YjaCg7ks4!Vh#^E}T4yzyKz9R@ zJooJ36YzDwQdnW6>qBaF2+zsL5JxE5+G>!cP|K!G5PgTXlPTZ+>F?qcAZQIbRG__< zbS`9Y_|>Yi4gB-2E8KDEuuMdz0U%C*_Q(dTmd_yS^T^&b2Hsz!ZvX=q2X6XHOFYeY z4U1irYsgf}YYOmST7VwFlr1)=xL->tsWBnzB`z}$$^topgJsO-t@bR{K)#@0Zy@Pl zjJE?~wJ^s37QM%DU|L5AB_d@;pRr~l5v$YS@GGbCUX=LCPkpxk@SKMh-KV~Dj~oWt zJEFulUw?3Of@nUuqYvE?=Q_}y6j2++Q?B2+O~k+C=o6c1?|mGAW_+uq5}eFYQjSQV z+6Yrcdy#c^umBw4tQ{_$l(DU5;V9i?0`!Mh^1d(Ut)T0Zg8fJqrrxZxjWzi+9#CKV zCdmTrswsA=y+s$?Jx$M{-N)q=XXHx`9N?zJByp`XT1uln8-QZE;KpmvW&o(OdMmx> z?*C4__~NS->S`t$$4;5T2+aSB<8FGN2JI_v$c* zjqN@sLhKcIAkaY*E&WLyNwGDM{Cy>7Aa}a&XcNQczD<*_oM%1M@aRCO!F@T7VJ+d@ zH7K|4Wo#~qq+DV&OwA8@f>nk_9<_r$5==)|7jU@`S)C15VUFjwz$wPV{bpW3+Md$8vB;>C+Ucve60hbV$4zHg6;ujNjB{VUhD z-vMoZ?zwViQCxLAr?q~1gU}d}Ko{5Bv<9{CHQ-Gfpq8oz1!N1u7f&c!Hm^1b;QIsm z9<*t+EM$c2JX4$3md3>cn)bs?P2_&OwaKR2GR!sA<*3-616vVTrjmXR>}O#3j4=nz zEgaepxzE#1N2YR3!>{IC$0d{duz$Zum?Xt zxIXbMd*o5mclv8@zW#6?wYRtNlX(8@7bp5H)_U(eWzC4?aw;%JXgnj$7j7KTU4~eK zL^}K2d&1f=Vzk9+9^K|7=+hSr)kM6T)Z8}OQniJ=svWCrq!9 zh&i3}Oe}Xuz3=^y=%RvkvF-3VF6pyCNoj5Nl|ia{t$sb&K`spwWc<>hBfNP6s$Zjm z<^{Y5v=8c@%`_JTX*-hp{X+NK=gZIE)OPo#&8NLT(u!cwZ^J5aP=QMFoLab8xtafx0vL$D@*BdRC1QuwTmb4wm1B zHw=}@vc+~h=)RounsAP}pUehYtRReVkqTVtG|w75#e`;o5Z2oodrt$D0`Lt&>4pQ{AUqH0h3`Medeu+?xkKP9i$#tZ@X+u!+Tdi_ zC+8vYBn->SRR+#oSBkrqF}P96$jnHyl@0;6M--@th(4A+3K^71qn5EH!>odCHON!C zY5R&twhO+tiw2ubp92wtU_hUS6AybulM^^4~qX=XgU3uS(fh7Yc>|GDHLZ98oL4-z-2-3!m*8|e}n$A8<4}JTb1relwF*GRE|tjpS^n^KK%p^oamqh!rJzLrRGAL zdn|-dYT^W&g=BLr=e-WBXen|`zBy@p|0ge><&WxT_5ADS=X)>f3;*h?M`Pul_7*!iW1%{0>W)O5$QztB`M|oq^IFRa6 z9i!EOf$r^}{pkI_h6}yqi5OltA7OZstv5!F(sr1VS3|t3FE1H;jl)f|Pqs-A{G?_g zJ!&$qRXYQ1yU}Buq}Zy*k&v#3s@EEf%$>Z>CEa1ux_=Gjbg2q!z4fGAOfw>!zUGMF*9< z2K^$s;L8{Ld3~*%`mw+I@xx;7sc+pQJtn#9F@2DhwlN#h3$vj!GNBc?>@8zV-!?iv zRAWIB^q# zyqBudxh!0>qouBx-Sbi3aQ+yAg>wbMyAO};9r1Z;!Ggl|A!-=eK|t0qPd9s?l>9#o4(LaKd($^~wk^O465($%5R~ zmAi|AtCqXt_UB+2&Fjp2qHr)x9M_AbT^U`5cXAEYr`Xg z)&ZEWdk*(VNd6OT_H~iPtM`4}eXto9GDFPgLKz87DqC8Tn?AwnL#uVzO{hw-4#1xHq3HI%mMeLEv#&Yoz; zYMNdoiL?qkrsb%bI=3ws)D78at+;uTNgi9-{Q@wh0${VS1~n9983eob>24XDk0d9$ z&myf+K47Oqv^&77u73SBUFX&2OwQaB8usE zzW(4IIk-J?s77FPwy6$c>a}~tb_m3Qt7!_7DEgy(}EHHQGc91Jk%&Z36MXiy| z*bdsba8Or^O1P?z?Y-2c)K(>;+Skt6V%Oe541`mHZ`~K|E2Oi|W)O%#Fu%{Z#Rmiw z;=?uWsc+nGs`kq!G#(4-3v8>KIVL3_E1$uhG4_^N0}>G|9>sB`{lVIi+*+Ja+-NJ? zn^Xraj0u`z9_PJ<^XhpZ%Pt3w#ExoPW6ppLB=1cQ$RqYx>Wvl*yN#_K#!`h&qwT^@ zRU(hy* znMI1{9tggtA?!;xU^&@s9_(@LG^x-KmY9U%%i8ibB`oLw0DeUpS=CXdoUCyWZl7awzQ(&$Z$od zEQL8e3GcSIo)^ss0+Trjd7A^w(#2IRtQ$pZf`*VQ@-A$|RzEI?WZY}{gleH>A`P-3 zobO6(m%RORXit)FFvF=Urat&V*P64u8t&y9yMy#=3(TbjqBAcDVrVSxh9I^Td`$D?iqn-~M@AMFW(2!0d~|A*2*1g5e(TE;WY) zk$}K<6zOU64CrQ$7~lcMg|t}wg`Gvzd8r+OeONL~Z1qeLWKNums77g)0<@TF--mtQ z{;}_0BVm_}9fx>={SRAe?mVL7)P&k1O=+SJ3tn(i3+kJI(TiHOov!IxR}dbg%b8;# zkOb5Og0XA~Bq1Gn$k}zSzLxfhpNc#$yZsBe7YX%IAQ~5vSd(^$J471$2rO`?hk`^% zVvOL7Jgj3($kYas^3a!Q2H)-Q)x~=FG5FB-inH)0GIvPGIPG$i1{kWYFceLkI_9 zQ>)&(b}-7at4SB_mp4fo!Lo)NzFo4U<1d_bugb#LN8vw9fu)G=wFfl%$lNCHs~yC&Ro zz1M~2CcNe0`sh(|jjA`YHad&vYhRsAZx6d>u zggP1gvZTHE99I)S+iF{6UuR8fEx;mJn-&ojqy9j1EU=qqXZjfLdn`1aM?9%o` zG*G<(B|=XXs;eRS6$>QY{Ji&Ll0 zk=bc=%sban0EW?Vccj8}_AY+D%sL0W@FD4`qd4sk}a*XPl&J8Tb#;SOA5qUEvpV8I(q7?`q z7CcbJWus#(9k4as{*8}*_^01{?Gl2-%0mTP^T<8g8a~02#Bo(w2h1Z4k-LOOVib}S zX(tZhBk*v*vzwr2_AJ^P-gV4nV1(8ovNYiqM8f6nyGB11v-Y&U>AugdS_c3)+Io6b zvvQ0mC#E+`m+9<0470`2E9!u`ux)bY)h0~%%+H*sNKQh?u`x*a0&z_*j)SZvWOtA3$dM?ccuEWQ3Ap9EC{J zo*uL8FbIhiU=O0*r8%4127fB>u8=?9Yks*)f`H%v$q9JffA_i z>+m)e+1p)OI(F1`ud99P%efc(L%8(S>&K**t``)Q;P*=;r6Qt2dRJ79abgGc6B8NX z1JF~YR(4QjrxUOZW-<*507_au7m~48REOHfkdA?%se?a)U}{Oj4lWb z-$X8f6jH<}WH?qP8$*ngR@!WI&Yog~R1KoBFbz2yr>vF8Hjr_!?Lxh92KTo6Rn&?( zL|TGgJhpm1_IN%Bt2`mb%TK% zV}a(PlN$H#m(Bx4n(3uNE#7OGo^siaUhEv`OpL3!M0wGvBAnC?8jN4M-^(0+7yVdw89`)7mP~1!S+?8xoj;DCU$C*#%;Me5g?C zq4-y7VIy}jm=GK5Su=Sj|$<8PgX|%1nnHFt>97(QT6l|{Qv>1WaP@8d` z+S=cJvfJkq(6$fZp!bjCptmCd$>|7$8xpG*#*7uhNu%d!>?`F6P}6(h5MgVSiguZ2 zK_=pqyv?DP8;FZu%H@N~Y0M-%C zj0pF&h>HBgaz=+y4H7BvTRiRE=j(F0zk$?`(RRuiP%cR720rUd+C0{OkaGIzIHRc9dpvI}MUboWgNAhJCQ((49{5+4YOloH7T33Tu6pZNX{ zfA_t+mv_N<-G$B-FGT}Vm_qrblfAYBK z<*9GlBlS4FgK&QH^?PttNo&pJdNQdb&OX=lbAkOyV~MV~2uZr(EW53tly?c_N3f!-$a?HrF+ zb}Bk(vr*K%{rlg6%#mg4%yT)O3Fz+Vv`6cRm#KazIId<$x(4zO+EpAXG8Mc?Plku2jf?sgIN^eVNcw<~8cryDob*g!ap?zP)2 zjQPl{7bZ!$5?Xe+726uRHjX_Q87H51suOi#@79Jwj121w=oV+4KqsP^#vw!|L&}Ai zzj5Ek|K!z={qvtZ&_=R5={vLoxNTWeYFI~OvFLR82|V%4z^ z07OKWF(WHL5Z!BqDF^g=%?$1G0sqwjGfffB)L@;E!ffo@@ho6>zF*(OH*e{upa1^5 z%)dRY0M**TVtLLwZQ%2P9QCkx>wB?;PISqZ4hO2k7*^P3E*shalt5F!X0<^*bZvA{Q?NE~{6f!FIryD<-|`=$YnbM5^`bPPgv?}s*G;X&q`;yjU!GgIg64ZT0s zI9>ce?QAD>L$Nxk!gk3(|8H)L2zeC)z2x0z^TP^4iXqyOR*Zcz5$b#2G&E->D5N|qjLKXuj!;JA{7{MwI6=AqkvjH|d{mXT2U2O_?7X$SRNka;uCmeZI> z5x}}@7p847u{w4}Y7*%{*6v*CjS{A#tIai~u3V&9TSUnUr9BqbX^vy0=j>nuJ~#zD z_2t~Xuz&oE$J!ugE#pn(OW}v0ESMSx3?I4$p;a}&9Y@ZKw`?agWo!-|}$h{6l z;-F)k~&1_F?kyTi0DepYSNEb zA0v%9ad78jCSg7HShM%F1C&y9#DN~!iC%i`6Np=uHLXquldSN%xo<9U%%Hcn0QIS{ zhcm*w?mo-E=GwAfz4raQ-nv|$ou5Buo$qX;N?@3U80j2zL}ZNyR&QSi z9gi92);px1rn*JeWRCFd=y^i5l7;#d>Z^1>CPi9QBxX0-y6ytk#lgVZn(>DHfoQXS z|MB*>A1^n8RAr2@+7;vCep>RRHEWI88XMe~G&kan5MNv}14EzL_DEq`ji4S>0Y{Q# zm|TBsqAs>veIwuO^ak6xqu13Di^Ss`ihH2qQ(w+~MfUpTv#*}lXS@81#{ws!#l!@+ z7-W>yVAGGeoedGs>M^`=i#i7cQHXd-8eCF`uQM#($-s)=3tSg%Cl;J87`*}Gk*w%; z`YMeP0}7X3GF@mPDd^n~6-{|0t^VM>H+2G}-vcXXw!*+W4K3oKZC6{P1zp|NW!jft zg1hd5#ZwF^W$B47JBHMPg1Rd@%j=8_Z9n?zV=?CBdnSU85s64D0{vj`c5k7ZFpi-3 zpq5aL#+cXPk{G_pDRx%xdv!G>8kDO5L4oNJsft_M9%pj3XuuFc1iKLSw{<74xnWSj z>seHYWz9=TZ*d{MH7dWBBmUkeU)HPF-^6o$6wjYMXzV=kje95&qtE-h60tYm_|=QB zK^@+hV-r@@v35t|tz%#iQF~niw}_r6vLGl&tviM)<(34(;xrtTt;$r{U^!EyD>JIP zVJIsxr#XEA__7Y2G6ctZUCzh{F>X(LIbS~`e--ZQbAS0+)=&T7+3RnOLLSXi9mipY z4+L&%hizIhqBU@KCpF`N;>}jh?lxv2qZ_Si40Ua{*!|M!tEnyo&&8-6wvnN7G{!}| zAC~~7`rIjV`r6hSuaUXiJL?JCF9JBnqNoLjajRLCYg01%0%77vGmqPU@kcMoXv+l=hPklN6|Bu-B-=qb;ein}wn02osbMSx6a1KSyb>BY9& z>d{3D$*JZ?PWr;}fcz}P&=aQO4byX9bD>KFTzZ4jQmFy%jn)ce7Kc&o9K^y47+@$x zf7yf9+6nD^)WmJFi)u$ijW;90;T%N$_>^ck zCc*yi%bBS+Z+YfU%y%c}I4LWk3ND$q|Ma5|Ag}lKpIt&zmZ627c6Y=C_?WvbJWhL+ zjKG9H4wIhd%tKs+R)r(i3Umxq{T<{}^2x)@I53Of*5+<~VYic>uIilxf=0|cFcU>| zOR3-f^J}t>SZ*>bev6!OFqKwiiwB+TgSAs;vGcCkJ2v4MXpC;~pTUrchMxRVWgd!VoGTG<;+(070maQyua~I6GRoz$!fwv zPKU7XHblWlOQZvI$JP$;uUI*J!oChv%D4aal0l=^Pwfpk>$|}$w_2@cr*CSfD`-|r zYs;mvkzJ+P%-b+NRM@tu0aY|E0ee7jdJN$pyZ1rJXy1+t?v^vu5e&L4m!8Xpd|w|w z_2t~1p+0)?(jOxP9#l4-AVUv$wxeR=$LwpFOOokjH7-*Rn`~N;WVtTiiS!6{h_@CTN+AXlt-;GVnB^vBJuv z^HLhbKsrT;8y2d@QMdp8k_@^)e@f|GtKkUR<^bt>`<9OIGd``%?+Gg(a%Cghm0!msLQ^ofIjN5z^VM`Fs?nAvtfxYa9kxDV|4SJDIeyWTW29k@lIZZA7e(8La~-SSuCd zKULw||A?zt;bL@L`N$}6Ip^XQ(xpL!0`Z+&gX}K?R}}=#*QwU2UC-@*y55ltV^$!KF^tH)BleQr7Ay=M!Crp( z|0ZV62=4ZRjf{XfB~(v7)iC5#!vxN@3p_+dKN*u0KMU$fu-mydq<*FVzmK>?W^M~g5*76%}CHcv7Xb_%&1 z>Us3d5CU=z^bm&wxHVCo2d|@$81Yi z-BT=|`f|QLFMagtXYuWx&BLuJ62#e!;3(!90rK^}&Jl3*4efAH%?9Bg8H?_*wjeOR z5A-0XjHUt1AnIIf8xo?cas{Z|m95s%ozcfUc>uaJH|Pa{(;C0%)&9;6+3DK;%wPBm zf96JSx_g*39mFcM-E2GIb{_1?WC?cgx~ox36BUz9kZmWy4h`+&%?%bL@po88gKHkLMME2@D?kG)si1LmLl zavuFSzxU?jeEcPa6moT*eHw2@X*M=Q6+j5KMlv@8WSpIn5PTF$h+l+(-=eGygK@MJ z@Ylm&;hu3~EL6}C&cgImGO#%?T2!9nfMUHd4X|$C{ycy9>0im%Nz3;vG{)?A&_XmIS&tA9X_rHF;@Ba8tz4ONp{`Vh#`b}VL zz4|&ZwqAWJFgB6fRW#Og)Vu~DEVY5&EzRC(MEcl)mj+sA>V`PHwmUYvYY;)umP+i? zX7{wAXPvocXdv*I7YvanXPn(HoWfye9dOG6YJx{?V47diMT_q`@dm=ksA-gs(jjM;@ zzJc90h86fr0?m)xbo6H{=LQ8}d)x6~J^alhC_jiZe%kx_oBJg826;TetGoc1Ku5(5 z?NWfO1aVQiTb)3*p={GoDE0ud^=*5>%MT~yPNmc5BpmIz6yhpiGZ%oGIkupC&`|N& z?5QL(`?d%6tm=V~mk_}nFOmZN-gS<71`u;=1gc;;t*_Mp?%&q7(s`4@g3OLd$Zf}n z*_nJ-2f3>T`9}4E!}~DIyAvO{$;LO=fu>qg+4KW{$aX%4HJLIb!px#iEZ-jORQxFIzF!cLGO}obi z%Z^O!u+SuQ%?^w$m)m7`Z6h)W9F`R@=oQq@6B$Nk2h%io;3N$0X%@8O$aXxm!o1oq ze*Pf6?}=~PBg8PhLk_l*ilHsRog4y7>#6Oku-xlB zy})u`Y)qGe7fQpFkx2T?wzoCwePJz8BzbIbSZG#Bo6&1bYq$UPJ4ok+P16+#&f4R^ zo{1_Ia((;LK+Ji@) zJ|Ca!w;uU7U%v;5&}au1^|jP5t9e^YM~W6uC1CKguNt#@gA;E;6T*uMh7@r~Z)8lU z?njNbJY^v1wlIAns9SLSmlCTp`xKfpWwb^vdiGl9zR~g2mvg`We(~(fXJ0&f_4=`f zBvEz1gD|(=BYpRl3|4octw9@7q~1JQoVJ!?R2CZnObUrmmZcSbJ4k|H16p9oQ-Oho zS>b|)C3BwHW6CM+;M62Mt-@okd!1qXT>t!Uy~pL_n^)ueIKsvk`HK@QP4lRTrv{eV`u*X#mw)Ni0`D7_d znkikCV2fGA%J}F0p;Y!Hv;>~r;c<10|Cai)!H^=uCk3+y5P%kfLks(8?!1f z;1hDpr~x7~Y9QA$)Un7zezQW_IR_J1jv!dpZ~xmhr%c%0q3|GIJ!wLy0XTl+AwhCNcw)4sa|)u0v^CqEg`r$da1VzU1_pC3kv?a4ZQx8R@*$-|{L~>Y!y_5m z_4dDCHk7Rs2G-SpBT*#z=~cF?SI*OukO?lNElPDXn^QTQjMJ7{x0uOAhQ@5C0vr}q z!_^KSNS@g($3gtAU2i6;fRi$Kir!MNBLad?qbC76!_bCv3!%gk`S# zN!H$oZY{V<1YlIw#4tWly&)|fcNA;D2?QZvC)Yhl1$>#5jb}#=h{!%Q_6>q%t#aaYV&R*orqe2zf@XsU>R>;ln$(aeC51x{TUCK)u?_W? z?=XU{e@Kl%VRhu@^V>S2+yCZKi5BD_v@j=`{B?7mesY~yzU zn`tKHV4ZL;XC9|uL9dj(U(?pzGdq9{7!Mv9O99mIlMO$paJVGIXR{4%m=PWPC3C!6 zK6r2@PVP0c70IOiA;l`9wsTDQ zXrv8KV8C~Y7j??ReIZdh7ugskufrJU}_l zQe=kn1S1|((0&-Q0E9q$zX}XIW{|ZBF=5AV8lV{kJ05yypM}83fc;Ji z`_x<*L^{r}yC~Qjq5UMiun4K#{_hV0y89Qu|NfC39YrM_A0&IL6Fk4VC?F>b1Fy=V zV(qc#F(*(00S4UNC4lpUN1NVy0b$VanmUo99BdPIY#6?wnN@_)%mc<~HIlImzR?Gn zJ%aG0DMC%f>57?#Lv0bT)H;$EBswwM@^yWJvu(wABz6%n*D?WMq0mlkA`-5PxfF7t zdY1wD%Vff8x}XT}z0C`;A}yD94rBSqF?QV#w$~;HR9) zAnofa2DvZ-CW^880FFwa>E3(j*kA^p5rrnM3j~m$|8=+}hrzNGxBnMcvAG|z*-?b9 zr8*7dF26|q0q>eA1xe=#@F}4LurpWC=@7^E zo%oMdA+~C6C?94z-~QH*ArHpWWD^cfD2x-76GCQRYXOXKY{+2_(s+>BENpX*5p)(< zje~dML>@5MIH@D*hrP$*10>__4gK9V0O3mqb07)sX708DPSo4qhO1ak8(kXQkJ?zs zur$_!<{ot3iF~TI0t8Xgg@z^TNzfKM4zqgB&?xD-TX+L>-7*I32EhdBp%p>f)-R)B zG)_GKE;6A|i`(Cht0-ca-FiYHH^I+Yz@cfn&agGLb6(p;8(UAH07DR=4Tw@vl`q{2 zDNPgLb-flfbdm)g5+*T z&qTV!B@o8(2TmemI4pLDSP*rYwAj(-LP0PF0Ml(C3JOQ}u!AtAWTaJ#q0^ge#~|R; ztc0%fzCrZVm-7I8RA2n`aV*~Inum1OFys+Pak{wYp_-fhO=irlYzKzeW?OLv9JMK1 z3U6TNuT0*Kc8RKnSSRGQFGU)xjyiH>`+^LZ0~%@UAqD`rziR=z8G=-=a(g%e`f~Ds z?vDoA>(;6kV0ih z!4P|d2luERbS{4j@H}*dB-yTG9n=-e302+fP&@_BFYtI{4tM*zu4lUiA#$gmW=QdJ zNL`jPh*tp(RCcKV&3FeZIwSGesOdnOu=8zT7( zLYSGsdPfua@MBU>(0T`AZ)rn{gQ*V)w0)*SbGXeABM&WGC@G@Gy#p+_pzUMG81GLd z@umrrK-1G@^gmkJwxJRQZw8S@?0(rOnf3;EopUgR=|E^Bq-l(Gnt?G;yQrv7Lc>o^ z%q^Y0Nn+6htjUhTBiMH-h-u#_TR;8@$<&qE7FgNIrS{ zjbFVgdTNsOJ&xdsFXvH(<(vEZaMiDUC3bhg4n+WlXfCkt=1ic%R%-?cQRWC;+!l(C z$)oQJsyjPhnJ#oHJo-6&M3F66!}0&Nvz<3$!qQ_jbd$z{MaQQgLHZkp*l*zxc_Wzh z4f70f8oa(qP!4;ShQWlofVRiIQ6+@K&?I9o*$&JSx-XKWq20a*G+A<(T58Hc5cVpX z8$el5jZ&7vM;Y9!(HU1iDMD_4&&TioY!`Z&>CgyjZ4TaNA@M`bUPs&R2hGOA;5+p< z0k^(#%w8q?z_OO zfb=&$Krue`4STSD>F50JsqXDJ-a|_TQ95xh944K8wGStZmvb{8nFt5K(IWA2Fmf8< zQCPbJB#0qh>oQqA`xkpZZ;ir=v^F;)6WIaW*fSxBTdB5hOZ|fX`EO6 z6XF22=a`@{<3Kv_!{?NNv(-KFYl}vz^ESo6LhWEO(4m8?EB&>tgI)nLOS=2+fT)cL z0Mu?Cb0;uU9MP~e>8S<;ZJGkPVn`%D;R84pac)B{mkT;eXSFTgsGZ)Gd44~xq{NpO zS?I2x_{6vG*QM(G02H{t@q*xoySf1ijwrMm2NzJ+v8w}ekLFD8WF=g@&g8hL${iG~ zH^;Z_g@_@5@CF88eZj;_H5@4Y%(3DMO`AuBrWPbcW5^b8LDO=r^YyO&C*Gdr@T6RO zJA(Wo2}g@oQ)uu&t7UW8j7`$TmyB)K)M?;wH7J4N7)Y7r)>cOod5?Wcp?abmq8c_W zS1@xPWYSTLaiU#qDwfLSXOc)FR^ZkiyHby8%gwv|vx;_TfHe2fz`c^`9hMoo@SFvvAeqGg4+7DgZv zUqR#@DdP+B0bpV#v_KQ%?tTd9H64y~hzCHjYo!AofCf5y6-XfrAN*`Q)<#G#IDAcR z|G>u|z^eO4o4~Jc69_=WhYdO4SsffVPV;OBpj<#;fB<`+1V2DJ%DioTf>S7S%EeMIeh=%u$F3!TQpE zfK2Fl4R5;N3znbwavpsQf0>#3nsUd0jlj}#WX-lGn%f(|&8|nRP&X><|nsHMf3(#2dJDQ z(=;Z+93>8ZyXtMqj0REDS!;Bj6P9N00I=;WP^Y$?F5K2$o_nEp4+nn->e@Vx&_AO<@?sq6JO4wt)V}0eYn5eehV5kW-pF-)O~CV1IR~BMluFl z>nsfB7O`&*nyB3=j-VMVL%rAJO%F8Y1 z9sBLae?|7&zxu6R_FKQ;oniKmzgt3~1&_Gq>;qDTiSSwTYf8E%+D-<&HFzn#L2bDY zQpm>cQ$SP^Ygn$}q%n-5uL(HticShos;y8$Q@#1w8|ZDw304x1WiIzm3&ylgJ~R;0 z39905>%s$GW-qLWlsnb-0;4?uvWEA43HYW{0;%Z-Ixb*mAd*1zODD;`3JNeJ`X=Zn zz0?RornZmdZoSoM^U=5e)7SOISI_;`vKLE%XSuXXK9t9L`|I@FDMqd5HHh8(kzpi_EE% z(=+Co%G}r*EuFN3ARg?kx^@y_LNo^tKvD759U++SMsF?YfB}ktba-MfaH6wq9c|YT zA@K#_almJg-@G+nzSz&}>+yX2;me=agX8E^-?~R!kaFjOl=spK7l=A4to4TU;KelI zYsAr@#B4xWQ(c^Z0#l@|BY;PwU6AF5a0IJRJ`_-5aJdjU(%N~`}(w&_4eLV1InK%Ljff40c-dh)2t48AB<_P~5TDGw5 z^5X40LZM~f`#MT&FgD*vyM*VN198-|&my=F0i5gz76_3hh(onfUmIYthW5+tANdX* z_y}5Z8IWnN1x`Iy&S5z>LB=yS@f>6HjJ@=zHU#6@ToYry%hfWDfiifIxwU+z_oGnu zClI6z1}mbdn9+CvpcJbcBv7kS-q+CzUK?T?B_>*WV|1V&#nt76Hchbi0YrvljpwPb z;1OAE8ho8lY8$#CfH-1dB6v7g!MBqJcpY4roLNv0m-llz(NPKv6Ys$azx%3QKJ(|# z{^t7ZC;n4^QyD!>3V7OE_-F)VyNiH)AGNe2{RHV8(6TPxhKOMas?gkPiBUq*wgOnV zQM1owtbt>O$RJ?uwdcJ3qu;>` zuqWb^Ccv|UsB~mX1J-nD(NN40LfDVM4WI~u6o3>U%^67i5TpenVA_*91lYci#0TJZ zZ#hnn0vxn;z$T3$N;=2@C_vfILnU|Hv)OFjY+Y@3AQS>~atL2xh_40~Zma{~C14$E zKo|_S3__uGpSoHI(f&X7-fUT~{TBflf9^VtU+?>ieD~_*>u*I&-~0Og z%U4gTo_pWLXWVM*#;x{o*bi-V1cw4TN2u-KJB6mqb(<|cCm8UDc0n7^U>z%9LSpzB zL~OUI>dDsoIS~r&`vQ3}cw*z-NG=B0*?=__9o^8OL$415WqSAvmz0@0fN9zD>iKU+ zq{V=AV`>eydAXciHj=~4bcn93@`+CoyLDvah6%#jf&L?798wd^7vS3W@IX%)8Dp^= z=YBSXD0=|mEDwJht^({EMB*Sm5;EyNBm-ae?q}|eI7(!DHv9|kb%f#EP?%$F;4oT> zzK?z^hv#XbGUSJPov>H>TGdvdL0%p9vTmS@w4mIGaQZ9X_IlP3e*;P z1!Dk!&RrN<{JmyF8YX(OB+@p(;w!za0LC}ttO;Klk3fp`8U-~b{0H3F8|;`Bun<<8 zQ}OR`R;jYwp78H{Ie+2@{KM<7zxeXJK3_aLjL<1aSU%?Sk)X*Li{Lm2*8y&kPnnZy zs|_Fox$Q{{VW|Pzp=qpnU{wf)iD(XFnRL9J917MxX%(^s@akMZi#7}w_yfB4 z_1!+g8Ryl(L<33!(Fp^x{eXuovReaMdN}UsBlKPvP>2RRi>!_!Eit=3z551dSuFP) zP}1SPIe<<*j*IJJuuCCe#uP<+bF_kQ`~7#moIiP?ery~+6Cg4ZoYn~!@gyLHMz=m~ zEE!Ht6ASj#pjG6CV9Q$8_J)pepF#{lj!q3(=_u0=bcT)Lz(E{F@a#JV?9ykf7BM;o zuK2D~_VNB}o^KZmYFWk=J!c``jj(hcIDb2owPR%JwXPuDa`v`7I$0ks%f>v@p(;-u zF2fN1Rgw^Yu+85hVp5S z)5QeQ zcz!?&eYtGKF0NddF#uCy#u%k1+iD|mX)=w4`ota|D0;+lAskMc`4JoVh$dA#K#Fb# zuFR0&J-0&#WS)q&j)5ow3khFmklZfV_r9EG2YSEz%_sfzQJb7V=cER5Zw;i11AESp z5xWpr<(*|Yta1vcYN&0GMxE)a45T@WEpc_T9kj3yuC1tUU5sNyu z$7(oF-=dM3V9GNX;z5e(Mh6fom0(`Oy-g6bb6`(HR1zW|NEqT8Zo$2s=ED|KgEqWp z%Q_?sp8hYf<@z~4ey;!D2D3l>W-$BsZ}|T@lbs5v+HPSqv%#J{+c`(-z>CX~%Qte+ z5ibH3WkdM{11UArqxjtj5Xv+5-Zu~ULUnYU@+^nB%NmA+*D16dnZmI4RI1&c(Y;>X?rq$)qtjm`Gr5@DyV`fFV;5?YN~kiKb{i zN<((UFxlyg(V)U`e@}#SHA2{yF^CSP{J|Bq?4SgcCGMng);sut5)m1_=SUco4#vj6e}0+qOcl z=m!Od;H<&;Olck|y46vV=B4k^nxpvwBZR^db%Y#g0RC>A>(HkeTC4&zA#|v~Ku%=b z&YlO6H;&kz5;+z4mUSGuPQ9@Z-AD)@>^h?*=MgY*~ln-{rcYjD~#hask~ z^((sw+9(V5vrd7Qgj3TwGzLOKERm7dnjv|8Km6^FCTFe^;P_(*LNv!jgv^1Pu!Ze8 z^+1dawmDPfL10`L7;G9KKXX+_%+djPLR!CVy3lT&(KT&|To%!tMy8r;=-OxEjOM}K zoy^dY*F*v~`KzU(Ul-gVYCX7RqcIxsWoWh}cf&}Ad&g}|X;No5ztxV?SVnZu`ch>OL8rJ_aer7{e>{#UO5}u{+tB5LXA{inz-p z+hYvZ1nd~#Zv&sMv}bfxLJyzYZGz7M{sf6AT@IXoF%0R^1AqV2j%-w&W9;s%8^BOF z@exzc=s{nwWz1U*t929nl{J(SM%Z4_Ajv&hEZoQJh6J;~BOqexXnEbd`9G+auU@_Q zMzC``BDn93dlqO%H$c0O;&FyN{6M=Kx``3~Ra{6s@eJs+t&hpj&?0PzQ}KBtF;`Zf zM1F0!12cSKkYW<~SctG)fG`R8Qb<36Z_xJukiAcU;VVIc@%8X`eFv}oiUd4xFIv%O zQ4Q}12=q89i-kuNMtg{FM~La*v%9-&8od&v@<9uPg35qt-j>l+jQ=9h+CIoCqMR*5 zKss2hoo>rIgYYtL7kmV#PdhDrt7B|%1!Gg|a9aPEZ1n@aaFg4d%koxP<&zg;fg0(;f7!QB>>_Cev)F+L2{Aiz0X$89T6S zFY2%pfVAGYtZzX|Z%1e>fGTm25TMAO*G4=#C;&Om5b~ZF?j0zRXI!wwy$IKc9{C_c z&f6`U^7la4c!8<(?bmnj`}RCngKxPSzwyBuM^6bM1lqPLx4Anuag680P4=>^nCwta zCLLtL&T^g<8)9B9v_*GWa1U(ShJ}k+5<}o zP;|rK3h-6vmgYqSrMXB*W>NS;+Kl73jiI%&>54tuaYVMweTnO*kB*?7O|=5fnp?E+ zWAtZ@4b)*Au%mPlCxt}BQb z$AG2qbsjaNvKZC={hb5TXgL`Qx^K{4QS4`$AsZv z&<5|fbkb%;fjgzxdZw5p|b^v3iRk~X*wZ}@qRYUARAwpd2_?4#{rfE0%)O4 ziI(vO3{|X7t0fZ^$WhFeQ+KpDG1C#C8VfbnlJYI9k!2N>9J*%9emrd;4tPeLhrjQ$ zAN~GEZ`PZN6nunX->TYW+PxWkCtm`37E9UOsQ~b`-FC6NV0?6%zV*S3>;GY zjiVM-$G3*~^VT;nSlT=%oIGt!v}+sPP7n`!Ljd~00@BjKMb3>Q7B8jT03L)uON`v= z-jwmhH)ICkjm;&9rdERL`1qW;+8meL6>pSTIZbLETCXJ9hLrepAi@Oz%-bsV`!CFNAcuQ3xUil*mXDOJr*bp zNbxMRyw*O8E@G|%TdfP#Ma;g@Wd-4a!!ZCy6H=>o!D0`0{N|bLEvo(ZuGpmW-k-$Z-21*g zdF%J*?eqC7Z~f!XA7Mm=VO*X9J^`=shJ>20$bwl=%NaoGc3OuL%8c@I@2oM$Oxn96f@{armZwQJ!)awJ z&^8)T*&hzG_GDVkws}r@bJ``yEo|GZ_5hb9dnCQjm=TFA{sIX*w%3j_$e%n>I?`^ z@n&_8>pW?W9yEYkCViB{P#mk|=-k{6!C%~65rR4LG(G|F3KUyP?lE$wbKWkouk+1| z^X})b{mBx0=lk}|6mos=zCHf@$-QqOLkHXO4h=25Sk!0fIo+^_ke#3iqodU{0)m?cW@3x9SP#Dn@gPz+h-7%)?hsHrb z+T6Om_W|1a3IH2yQ77nzloWL%jx1K##lcfW%ncH!p(9w(LeS(zP$NvtK%jiX3^onf zF6+V;3c}s@I?gyi+`eyLfAQ*N{rtsGo{U27eczroV?U?;0jBGlU-)$1xIg?ek9YGY z@BZ-j0p0%gr*DYc2lV$f85(3vKU*K8;HQFK&AoS->oh1qS{ucr@O$N@iGwyWiz(yE z(_$QDYV!mZK?kytJR_hmq?yR%66A7S%u^mP`V4Egf_Zbi8w}Exf}xJK$`}fuJapwe z;ps`ZxiNX!+jiQc@l3K#UAY(o9=trm{wftOoW&khJg@R!b{^jZ_hH` z6sf<Ua|@FmogsXJ~nB@8X~=AJwN5;Cy}TRmKz5!=3NivtpliBlh_O-!|GQ)A!m;h5r@W zT_t+o4PJx|_cu>#y@rNu7zLYwFWUCZ9Ld)liN>UqsT~d1z86M+kmoWC{G6ltm}a`y zMI66QiZE?#y_MO3ymGcC`R=hsiJt5nz$E5~ogThc^;O8%8hBW7ytUD_5fC5Mp(k7< zU3_T|UyXHwf=!C?$cX5e`4f#{jssoiRtG!`z!z@=hrjnnU%$$?x9{4$@7ZtbyXI@z z*es{z0Rgoks&fznNIwLpKt^rV(E9C2fbeSj8W-8f!ECcm#@q=J!-$ck%@&AoNlrWg zK-4L4Q2Inh8mv=2z%AX?&+U1YOmG~?HDe`mqgELL6VZ3{F}e@v6k(4>oHYd!E>3ii z8eum?{e;aECX^w)N1g+emnYOjv&pqEsEm`@4A4{rA^EJuesamU-AG@){&Bv2`TiN~ z`+aZQv#;B{dEI{FCe6ox-Evd{$g&-3C9XNgu49F{Q}ZJrBJ9r7bV~z&2&3cS%_T1J zuVI$5knjY_zl}Ys`)+6uS-@aAYaLWq&~;Q+5raw(@Hx2km$gelGeCs0;5bd~$k zj0II`osqD30%oxggpEe(ki9w0 z1G86KoNY(OnFwY>6J~q%vIf*4WPZ1U!t=A2Z{EFloA2NL{K>)f&Ufy~8#iu%UgIMH zz0gpcofYcqF4<9JQVfQ91-%>=3An>S!fx5eiRn`fqZ(cFshhv}nmRZCWEctnM%?(ZfG@rFYTww4mf!Ss3riLRHkykx32eJl!L=EM(Sk zzw$~5lRHg?S_n;ZQ$7dDc9$ccue?~qy$(a*B9jOuBseJLw>n_&Adu0Zc=(6D0|no( zT8X?55(!3TbMAg%qMt)nNRQ&{oD01u(@8a6)R$m!o9N=8mp?bOcAOpIdr(NPL}=uh z@L*dYnJf-P8FEpDYvgEs<$RJZt$Boej5#%d9_tU{%A|U@Y47lGNb=X~7 zgbCrecp~-A|jO5tdHCxM^MQ02s9!^aX7|scSu1+09COds2(S@0RBxp~v* zak6VY{3D-TgTD>|LhE^{+cBU{(cTpY=K$m#uFdI=)cewzCwl<5l|BSfnzIpg>CgdY z=^8ctB!Yu$EM6mfO7^-EGf7T$*R^sZcnW2MKK!G&3L>mn7n6CxO5DckJ$W`yK*Lg1 zxaF1}pzowE39Mw(4AzLzT6Q*w(xE5>#J!z>>DU^OlNjv?7Q-D|=RUNg)oC$Eho9ZG zJ^W*z{pinp^fjogAs9EHgy*#eK+ma`a4oKEMHm?=WGokv*g(~^#t1pw7Ld5j?%g@g zN@9H5Jq8+S7(aEa&LM&s*2!TD;WxI>d+lS<;#;W@FaxqAJK#YG@>N;r{H6dTzYzsl zXKdsvou()Y0yHFn>>6@#M$%pI6hT24xfI__C92s8znyQsa>Xwq?ndez{4u`_ zo%lt<{d=g0^Jo6*>v&Rh-uu=)OL%KHgtw2e6mgq)^$XYGebjN}dO?0KsFi&nF_vNs zK0wkHUg@ceeG{@)U|?^04h*5I2T!QF=U4+-FuQl^+QNI!8PPEwYfQzcx23^uWDo!N z_4yr*nT&a=k>wmZN9~Lxug>ZUs|4t{($v|HH}A9)cFEen(~PjXLK_kx?On>6E~XOd z=-vVLy7q#y2c+frhR_2e!AADQ!$0xaCm@!1_$R*uu^ylblzo7SWwwET2oVw| z$1N=DH1wma0XU-tAKE}J=Uxcyz|KB)2THIMIYTp=)ZE=HNKavw)uHN%#pdTwqv1h- zvn5Aui1(J_m1{keKr+d$qb2Tj7@TsqqxsigefjFm7f(~m?|ajpC7jX?;q+rT*U|(c zNAj#p_+R>1C&G|BifVB{jFc5W+Xj#c9!b{kYmYR@nKK#?yRSaP>1GWn@ z1Qv7lD?wXC8i$bsHzFW80RzM~4-8N_$_Y8z$St(8>o@Bj$gHAOXK9?)8qSm@H3ON6 z)v#y`WMs75*{08W_-7vP#h#1N@)#b_m2hE~tU;aoVgV%619m{Hi$}#JE`%oJ#x;{{ z6d_LrC;`w&(Y>As%JCgd1IAHu(iXf^L5sl%-=!6sjy4|t+3%ndnMD^CuOmq;ZCl|J zg1A{|@R}lkk*$=ZiAB1r19SpB@Uo4q#nD}_)*zj53=<)9;SpmW$RrsKi$;V%<&_QQ z$jmAYn_ctP*f0Rk4B0rP6TUsbl>+Fb6$cn@OjtmOT~1S@%1@&sDKwf*rA@QKz++-2 zv}wZ}?<-wLagS!nkDF+$OXctKKDxA=OS-7(^-(r zb+8i{+whzd$o1CX$4^u&o5sUGcb!5Mm5Ht>&vQ=B(V(j9Cw4OI%e^D%sLkf(Ypwz) z2DJdTvyMH1wDldpT<%q^`#5tS>wsCdZrf+?u~6SY1;IWyq6%uZU|W4Z{PWkhKO3}v zHU%9Oc%HEV3AK)m1E}D!Hd4PQTNl@U0oHRZjM3*joen~kc37{DI)o5>ZAw^;ZJDyq z76>L~EC(9E8;u5G85D<4kV|*IoZFV&yHokXzOH(fl!pDJIr|hyB4;gEr|P5;d=kJ8 z;Q>6z^6TwFhWCIoC_9rjSOI1UTA5>ap#PTdef)Y3Cn6##;c@O#@a4jolmC@y$Cpb3AR^qkX-kUw!z zsw2kC5k8{(lc{YRN8%t(bS%IWqaUs{F(pM5jp%l0c(MP06n0^VaE#fz53?K%y1H`G z1?Q{umSYs@#T|${mfwf%*f%Q;LAQ<~*<@;B66t4_XXOW*YHFJDNketE(Rk%xklmBZ8H z9l1QP&$f`$odD)o+j65nUXaBsXaaYe-ej17u6)oY1bG*Fyvgbf#0*`E@39tHQ-*dB zuO94L9CGU6UwM2Y%r;sc=nDZkK5D*2=h&p6CnhoIA9bnx*$%Q&N?V8MYG3@NVW&mI z>%~r;;vCKedBuooW?r5p2)OK5h+D(5S^~3iANugGe)gjueDqcE$^mNAR-EuL6!sQ9mh;B0R@vsflJg#*gjDTDGGYD~3p$ zqgkFl5SzJ6+rCC6t>F~i3!r(NZ0EiNCLKvO`RuCrH+~b&>TkaM>gB70b>qeR^Y)8; zs&TpZ?fg?r$|FFzYQWeEeqma~VW2l`U9f7G>`*0%(}qHE4pRl&T5DlM<5+-bOk)%V zn23a*rZW+cbK>ISZ=0CI#ulJ+7qy5z=VQ;~;a|f?iSU4E6tU2o*qHAsVZely$6?ex zT4aD%Y9IwwfQ0g+J2BE-H4t!d@{APHrZ7uv+rdUXAp~WJ>%=k9K4;fR9idpDkS!MS z@ULG>LnSw=#Y7YC?A2)_PcO8zQ}%^yjSVyRISSTVo_@ud0L+=Wo5;~VY{)#@PCI+? zX*4&|LlK$Svb8~N*OEQ_EO>IAR;QINHXr_t>t0OcXxUcKqZW{i9hZ$%03TR(odamD z)^a4Rz$XHSTQ`ui?BdeU8c3Q*J-qcyj1YCS>81VPuFeybU2038WK)3=gME1PQxE^< zXP*EZ`?rAca3_${!s_X);OaMN#;c#ofs60@YSa)8>43F2+YZL6pi{Tle=aVbPO==bi7_GY8LgBVzjq-mA-G zznk!(g(A&(D?)2nRx#r{&3Q-;j7Zfw1fje(+>ba-3q`tDt1G@{2rzDSeJ-Hj1uvpX zg(6$lC`|7{U17Sq;WE4F}yXS9N&#nm;kh-1%~DEnD^G z?Uyg&yg$z@VnYM6#|+mE9;qM!mZX;8&4*hR@{exwXfFJTWDvIrfGP_~?+x2(RpP<* zCfDw)z4+QAVJ)<2pwv!8I|07H_(}(?+I`a#`pUOq;Vb!|Qb0G(2iOfbPZ22n>1Q>xl`%bnHfk@iInJgLX!)c) zAwS>ya&G%xU%h?vv!B1Hw{O0Dk+1*wndj;?Hj=T8C0NfB|FTMMy_8Y0zotQll`veR z_E$c_{*)j*axc>s0>ERR8dqvcgKI$^4Z{)qNCt&CSwUd1{mX3aKxaih^3 zQeSXLq#@$>;t2pvfith7iLE-$8H>I5hkxrjZ8*679uT87a0O(aLfqx13F9Qj+Hxhp zx3isiHCq(O6gr53IWh5o5tL}e2zrCJEI1DI?x=Itfua|kA4SUcRT#CCKq?}t>fzu1 zB=j!-&UG&av=AK-P$YucLa)Ro#+3z8F@We$Mz=TYZS(5sJ7!VoFvgk8%Y z{=JXc8v5o#|LfxAyZ3)S-+lS#?d9vwzx<_-xG|Tlj?*=G%tAO6BZPLwCTL5$jL8F2 z1Z?Hid7t!@n10NAmR>PoM;as6k9Z%V0Ai!39%A%E4}pusVe1?#p!ZwDt@OBcv;)ke z$GQQ&k!mxVUVP;3Qx7JlH5{>2)FB_~J$jU@LU@rnXf6%yb8SOl6_SfiD{x;xQIHr? z(lG4-YqBq&+{T&^wv(ZN`9%We4}S9YWqgr8%~#*{jsEPrH($T?{PKMD0`sINNQHaf z$Y*H3^K;@4XusDld~)uTZg~ZxuXe)s$OfiyEgk~`V|L^PVg3fch zWkjQ-eya%ip}%?U=lu(Wyqzzf947C4@BY*dlPIQBJ5p?=AwKxj;V|gUnKBQ%wT7*7 z&^9)f7{{m@ zQmJsb$Rb9(Y)9G}&LHE%Ckn6acub1Jz@!dxsq_S)YO`2ZMTwYOX2s|=8G2kO=^_uE zEtsneX?w7ql#l~3zzA&4Yuis;G8*^A#?^38?#pGa#i8Z%6 zMedM|(vA$VG0h9);b7HfS>j5e194{#i97Q4S_tU?s^ii`Tso5Gh2YOL===Ac^6(!& z4)N+}#WJk34Jlw?_reOf5wd*1N=NK2z%o`U2=O^nY-Y7JlB&*<+50|e;xTq@ZM{22 zS13zcYw6L}%ozoEJ$dGGW9nNnZs#NSzMPwH_OJPypWWJeQ#_$&yJPM)woF)g{lE$U znE;Oa8o66E>(J!2jU+V0UN-a^6oX(v?DX-JZHLnP6b5W(bfe&aY>iCu_$YSEIWsS~ zsH_jc%>*|5IriMJu*?pR0XGDHa?7^2!vf!qC#V@qIw(aH2PiZX z#e%yW9PJI_X?Gk5(V#OvJj#kd>nAj|8hT4ppqPX^_BK@K-m;uufAap}dw{%Oe0je5 z>gDSv{+xT?#%Iu(aHi_)!_Ki$(ng=&r&8Z8QM5S;(=_A@r9Av6pM3%inuq`N zJ8*ZnE(n^UI zJ3(Dn9cgxGD+26^CZ#{>muE}pjc=P^?Rv!~f)>1OgtpDoxt%M9ga%Rpyuk}K@yYT* zrx>GNE?*)I=_{vn_1MbjRe}mTDFNK41)bHlfpis3p*Ti|4_LK`8;tPVNx=`UK*M)m z9e+|<-TTHp(|({2C_s-t|K=ZG6r!`$%{z$xYjxoPsrq(U3NgBbOxi%&726YhlGK#V z9Uy+4D|IqK9C*N+J0rUwM*zVEJIrlO7TRq)ciKTk-JqCSu$s_*_|LA=swv(L?&j5y zjHoSh%z|`bMve|%dILH;%%I!u(ZDxAv+5MXT{y?_)sEojwmMrcS|rF*o3SS+Owwd| z0>vF-b}CLSbhgiU_|LzCkB`@0TMCpAp9tT!xlqc*8azi&pGU1%KvPQ$z**5XV4cMc zLLDUh6-vqh?^_1%t4ZN9Y*cSLN_8#xqH3HDoav$P#%hKc#?8mq4kHa0`nD?T2#vp_ z^WKMPYq`s=e@r)FFkvp9^yx^oT%(QAX|@qYYeuu^OSf#F0iMCcq;&?*ZrKou2~Y!+ zr8s(T4{+*lVQ)Y5S1(`u_~jQre)aN;A3sSGz4yI)(sagAhJM8x_PgKw!bh;D-Z`@7 z;lKFoaT5mXL>g_4f~!<`%kG)(vpELnhLoU#4DU7}*$8$A9SzA47)4oMLmRKlQ<1e8 zWN%4fIK(czJ^!RY1y$Yn9{ zF6KHT#*CSeB#&jgX2dyJOZAMdq(eYsMb;8nS{)lR6I+u2R%=jU>?qK5A8TPt9{wv_ zMI%PKGPO|W*+D)OvxB?|f~K)e+?Y7f{6b;3WKGi;P*x#67tj?Hf*T3b#tuyJay;Ia z01i$>?5G?Wy0Vi@6QQAqk8y-(Jp9*Juji0S3|y@o4AY?2&gPyy0R}M~3?~W@I$m_5 zjgu5SF~LnC#~^Q`O;qYI`dsZe10jf)!P9+4N7P@@F&ux97F5uzZeM4$hyUi98IH{n zD!fj+(pK>Af>=-3nyPmI_w!0~nb7-{82rQ=;E!2KQm%w%L?>AVriu205#gvpUJx?$ zj)aRscB?DR_0rXD>KUZ_;lKTup)G&-d%s+9ehB#RFMj-HYB*$;P0q^(RfE~7W0_A?0*DMqF%W*#%G=nw$d?gTyfIH98+Y+Jp@k5IeRhiMfRon| zUkSep98Mb#*=XQD3+DboO~{<;u~OZMR@QC7^wS@o_dosO#n*42q!Qly#yv|DXg4&0 zkKsBS$uZ4rX|&eM(lZuzJg@*v*2XrH<7_;TD{?z#gYo15CJ=}CYV_tF;`2;AE&_gV z*qjGt(VRF-qCAR;q^Yry=B3R@XpeaK@2M7s<_ z&7iGjsFlXbJ_EtWP>JNQEATd2Ef^`Y`5}glLQZ1PYN$|00_coZpL9p(?N*b0%--fx zq}ZKr+OsDWx;d%*#&yznfMSl0j`+foGe!%_4b-8F9GKY`0BcC1?|Q(UChbUsC3dnT z5#Lh;K~#3S!2-h@`JV8FVETkSfP=#ka$^aSD{TW}$Lg2}NW1kI>xiRz0QST82N6w9 zR1s)35l9QnJ7D~-Eh+SFfw-nxg@Z zKEOK(?bmW)$bc1s9t<|+?uFh31E_r%vNnUVW(Qo6aQ|zuS)S8r@jBG1i#?T%E60DYdvIaohp(8g0#1vCyAnob)= z1D7GqF|qBT2hKu8^}bG>iL7JW`{>#O=`V;`?i|%x>nnhWgb@AIj-;Li8#8D8m! zv##+mW?diuT^rekSnXp|!R)ZyyJl_hT!I&4c4#CCehv!38P}1lUnk+(2A+t*Fb~q; z6>TZdO~WBy>kM?Q&X#?UGK%phy2~3i8d5~PZj}fZE`fF%OGpl0m*g0DL|sc9TwB2# zvNv&Tpo3_mv(R|ckh+qA&|OfxPaIAy4n#{^Iy(W&Q+ZZ??dtnKse3gB-jf`N-IPAy1u<`?eQE1+}&| z7x-P5Z3||pHHF;7Y5;`^nU3xWKmS(6nGkvEVr%=s__n-|LA%3j_@WZYTVqO~0SJK* zcv20I>3ULi5vVlT6%zzS-*BTT*e(ZjlRnWfO2ed|f(D#SbK+FX8=hZ>pL~FPIU!;m z4bG&obR#2nDE_I5EcRP@dgND6^EB>!%YIuk4%T7tocm?M(E?uE(NsC;eI$5qdok>` z@M-gvw?2rGB9Pbo6Zq8~?NG=@drqtN4o80=tvmbv#ZE*sTUYaftv&>SauqO*$W zN(ez?wESiE>s*(Ot)~0jHGBm|j8jN3UoT7U4llmr5IH?refL_cR*)3zi)1Vo;IB(yU~jPBfbckeS|QT7I>Jp4zNV*?n=QDWuH z1PJdKO(Vgak%93M_uH%>wnYaXn6|mCU|yXRNHj#sMsJZFS@gARuZ+WeLGvTP`Sd-3 z8(_|Xpfp$;TBij7y6g-0O2q?4gtig5xu>laNhu8Aa5?xWx98KZUw`%T=`MQjoA%op zOcf0O8e106mV5#lC3xDVK)8@lF1aSxh!X4k3tZH9uE#*ZU%YoZ2e@??dY~uhw{}Rmp#Ub_2+~@Z0$OIkA6gYe@yapAPf*y z2N=LyrvqjVe|s&=ccqY|h!+w!8`UPjWV(k#YADIDu1G$w)sdX7GP5Q5h-p`NCu7{OhyjdN;(0rSb+f_P?;e1N}V^rTM$LWZ2j8Ix0G7aAsn4^V-^lk zM(+|^;PyC)pbBkui>bKx<$U{SKf~w$ZNK2LWA*f*wkhlzK2E9~Q0)o+B=EdQ&bma@ z+b-$JIYUQkW;UPKe&ys2bS@D4V+*>x71EkEYiQVVTeQHhg;~^$6`U!sw^WM@aWCxTkP@|34e;emKI8PAc8<7Ez1I{QDUIv7;T}Ifz zGKN19Ku_ra4g>L5fT#Ev%MBp%U}TR+_auJ!A3pm8#?H42&O2YuZ4=6Wd|v(0GcQ$c zvyq5DVD-t;inzn=NdY2sP){EXUjRZbh5^&&tM+b{-J+Q0B0(pL!dIUzj^8$hq6Slp zdfEYJK<2(^XA>DvOnXxytN0cjK%e*Pr7{}T1hbvQ`Ey}%)aWd3FzPoL1Sq;QhRmZ~ z-3XX>k-lC45-qT>!*A+V*rT>#DbN`lviY^@A9@C)b*T*J!;{giBCjCLtu|XTq^R1 zdxEJ1I>eeBU~Z$>7_?atAkqf}R^__3eLslJt#fC^$ZG zb`>F5Vs<-tnKcihZL*eJVz+YJ16p{ML{9gNp+OTQM0n?qV_X%Z_fZkJe^mk!^ls?% zszQMQoUoRxNe}X>{ncxsSQ_?NI#Qmvbv*`s!`IfB*9r@M)a) z&p~^;D=g!E=$ZtIzQ{VLiV+9gPCu809nEQ>y#RabI@@qX5U-%Gp2?$hj1|}&MD~)f zonnI~b)RPVx{znI>-1$Exf8>%hFbo*eMkb9$u>8ZEXAPjbfORynQ451nD#`U{~*m` z^gWef@LneiT(XEWr{!sTE#!fUiFIs0OtdR&T@5E1&W?qzh9vT*?d1)wmJ9W-C8v{b9t41lyo_W`pxJWML0d-&UgrN0!b$&kCF)OqeE61BNCr zJhegTjk>pX#jdOl|39Aub7U?tJrc-NU?cl*2N=Kb94ct6ZMFr_c<$(k2?8z&WH7Q6 z(DZY_cK|FW4N!ue^+Ie0K|(iABIqTs@4}2(K!*Vy+OjvxjnKG+ZVJnhf@0Wgu0A`m zE*}1;&wljRe{^qH4-$}B5wX;k8~Ec`{2a&4$z={fNhOTIja&F4JPcXeH(bGeD>PeT zUbc8|o5+oIe0ji*EW+MgXV`|wHx<4|Lz4t6uRcMYaIOPNXd3cpV@wOo09;X<^{Cv^ zHen4>olsIjakdZlO&~(V0C<#JA8EM!1|JC0B?Q#1bg#@bM(87YsSkthus>u7Q&BIz7! zDt8)Sucj~rX5dl>GZe^ z^`mT`JmtP@h|(sa`cXN6h7Ijq~uofA%Sm;Q!KR zpFqgo?QrbQm-Fi@wcmZ`Kh7_o!%`X_kk}6yu*_#+Y_D}d+93ETG5iyQk;GzecGy+ry=MUJ6JrefS4;NWXC%$1{%mo7R zOlhsn6joZ2I#Dt*Xgr9qs}fo8Qp4J4sd%6JFo%f(X=#b@J0t=n!m53AUVFC#jjE%A zhpG)Xw9iClZ!`4@Rq2Nx{*S*(Z2l`JHX9-RLS~Jv*$Z{)6eMi{9|0yNoiPEeg|oGG z(dD9q5hrK>>_2o2U#<*sRna7xtwV}XD|6YR<=YQlp$@v9a|0!wLH?=HKWu|P$mjg| z{BDTNqOBR~b6wlGAzSYNV>CublJ61PIxT#qd)gSa0t;Ptn{!`zjEpM0OFL9)*hjgY zYto4=Q5syk-iwYVvad=TJQiv!?ziG`My~z z)%pRcey89aU?*3B&IselK3Y*nNHFpNx4{OB^`gXVAP3wedCGwBY&^l?{?7aJG$`oK zckG#Mx__V?fBg9)Y}3jh^cRT#Ev$4vfJ#A7w+mSNNSXsf5e*bt`^%wxd13_%QeM+<-#>%(8h`n8~TZJuD~hMvn8vhDE7 z&RarOM{7Z|9BySwSs)N}#UW;+#Y}n<&J*x-w{$y5BoTv;rt+Xp?#H9?R-4liP@+-H zX55e+|L}i)5+ut1>l!{SzIZMSx#U3t&U)Xhs&jHA?C4HZ>SGsxuGFu;e*9NAE{eD#O_8&`qkO2%M?k)XK+<0UDP zef}Tz-mK@Y+SEbY?Rd=<~<+1@AFdDivKvl$=B0`3Z{t>?Z8f&dsA+f|Hvq)wQ zsD|OWZ3F&^HaySsJll9TGgaa_pX_cFRfjTkAt*^HGY|LK-`)``-uHPJrVdyNMw>iQ z>YibCk#rX5_t~nFF@0nSfC{mD-#Gc{TidD=ohN)lbK&V7SnD3bC21TM!+qE}Pyg0+ zU*NmN*SXq)BV^f!g5IBb%NIA7;1>&SI=*(iyd`U9obHLF}~m@jMoW z_&+B+i->0-{y6YmV&pef%V^)mB_I89ZZm9u>aSkCeD~a3eFk)QYimMgQEV2Nx#3@^ zDKilXhQHKJkclc_J9_I_q)kZB1yf)`l?5r}&fYd<&NW*o23i}O4Jkv^98HC@TlB=4 zmWtRo&r-ZUVOjCp7uygYO?IL(ssS^m316Sos05QPgL^G37DAs83Ag5Cf}sf1Rc%`1 z2nAHF2z;4&7t-BwbVQ@K{LaECwlMT&9N|6cFM_Hze+< zCLUi++Uh7<%iLL*c{yrrJdsd?_F)*{LqwP)_NgtX@#G_M#sFh^V662*|P^l*5{I~XL4Jf8&> ziL}{tKoe0$+yfouso}1B17R23ldZ2P*}=9IU+L;?x{U;+(?`vbn2{Qc_Use!QM$e5 z09S8)Pqg*H;BR%>L4;#AI}17KF_CVNE#zXe!CvTKmUfoT15fT&)xkWqQ!e35A``@} zqgN^%CS;kFc(-xwGcZD~eT^&ScB%dR&GzVv_Uz3@H#gg7*iZ>NgN7Qqk`b%XGz>{# z854YsuG9Acitpf@Gv`$e8~Y59_Z$nA(-1I4jQU_FlL9Z_oY*_{F(+^%D*zW>4$SC+ zp}T>SC}Z8GYPS%fsWt-5PpqSkLutMCS{)~lwi2#DLF3o97o2lj4RhJXGq0n)z`Kzr zmA9!In`XQwD=zp?obZgJFmN$8kEmKJPEy3??O^tM;qS`i#UI=?q8@$So;lIco8qT_ zjt{p3!3?KYAo8UfkOIEwzYRDZRtNfa`8m_ru(pGc?f9^i%OBkqP9HY%0lcK?(!R_w zwu4$#0UgYV9?wGZ0AaU-O+R)KC=1=bPpJ~?ptV(}Of{-&P)KNPCh#hG`K`u85f=;z zSk{&_H0q%Oo^os}2~JfAoGfn_07H*E9Kql!p^KO6lDbvjj8kSbS+Ef@QOj@e~{K~^8a156olz!L0GxTynmW>+HXisFKLy@Ct zp%bv$3@r8sC(P@cz;y@eG&HyMz{nU$)(d^+<&%YaUmZjV(%E*8wi}q;iM4eI0nr9d zLQj9bX8hal-@g3nRlSI3IN*=Ie$U#B^~PrW8J6&d5_+uYvqd)iM+^@cWPsh$ z&xPr6SU?~U51j$5(`p#<^S%JuO|vmoA4oCKnFEd^E7O8H1BJ-pjqF0St*M|{%-grB zhd}QKLX6N@dC~e%`zb}F)-;nSMF8VVBn-5 z{2+~W28T{G%DF=-1MU#MT!@5k!#$_+Cw{krd+;^8yVsBe{P}aM55NBG?zICs5+PJ4 zqjeCM@TNH~big}Zb|wYT6Pms2c8=Kx7ASBkWuM53&Nas%;JCri*fXToWU*R7GN|qD z=&Y5mxlLvViQG@1WqbRKOK{6|sGND!0HT}F$$-@|fE$!V3hJl|I+X3$DwJCmoWi3^ zcxNJAedUG_C`Vgxet9nI!!aTZ$ZxAU^x?1)b;H_RU??6xyVpMMAN;T5grqpMo{`=wisPdn&)Yp2~wg@xNl)`e(eVIxd1QFtZcDOPnU?1Wf1@K$f7k zNMyRPOyd?9yCSeAFU!FPi3Bgct-ZV6KIaGe;{-?V)FHc@7P? z0bK)X_$_$pBCiaLW?Kj1v%8c*2&a>t{_W2p<8X6-J^JH3dw+fR8&1!23G}(tdW~qY zL90H5R}7ObJOBYZl!kM}LpDXRFA(=28VqC=Ldb%bB+P9zgI3_3RA3+EJosAzadjA6 zc2695T1PM}xQ$p%pSii@y1BNV!pY0@NoOr?vJr&fdFkbFEQx8`Xf?Z09N9rkb?CNP@aT{83sw&G_Ve$h4qrvwj6d4M*BbjJt5zj za4_LGfOvUppwzV-%d}EjU(Jwo43})sG|maZbSIdKSLYaQZN{qWYDx_^kk6#Ab{p1s z^v8Mji~WVgMTKy5N@@><6wRW|9ep+=xSKnF$Vqa*OSDA`!j{>oTTCxE6h-2+jSeMH z>FG|_2z(;bycqh-7+{(ZQg~2w=|Q7VlzDRe!XH;6-A!ZlseK9V?~@4&&0-h0GqW|g zFzgs(w;uI({4PSLj+2Pmaa zfA9N0`khaHzD5rFDoqQ} zY;9U?qAoBmzfyGcyGuI?cF1my-w~AC=T@}XAybm2tfTK^x0vSd z<(n_R^w;~I|MuwX_RMbiWALDSp5Q^=5Yze4CE7V?xQf8B$(KIBX2+4jBD5tH0CRMy z)1xor1lYd?Q2zniaK{_tmRRA6Jh z(sztZWHDwQMxkQ_wK$**H(Wef?p52jAHDWFj%DFGCf?2fV*AWBx?qumo(mkg*O~Z- z^>CXg_9p95)KK%-*mcBi?LBz>_ijBdoF!=SnXx2ji9|9hzOjjtH;`9|?s}n*(6Ewf zhPj(!0#atp8^9eZ+Zl3+g$EKh9}Zh@vNU+z!M`EH-Xjp;zPSbekw32Z%JZi$@ZG(r zKY3qoU;C@O^S4J|#Ak?vAA@c9^90*;oT=_^TdU83eDYwF0Fry~C>)sD;M3ATCyly< zji82(Fl1J(Td*RcB%XMWoK4Vuz4w))&JN5x&6I2f4Y8K~zC zMlvqfTugRaQ9m69tW|r*#7#H@sm9Zf*0|=**+}i`?`^|*>L@#V!YeMwYR51fCaZGD zW$)<<41OIDmYaD#hqUb~nuMR;ElVBgG>j1nIuk}gil%h1DYDbX`GAY|ra5Y6bX5Hg z!x(67HnOIMS$0A1utwL8;vk$XBvVkoVBk}u@4eRDOZdSb=jJ8+d)H3+#aFMs{_)G# zFTO3&JO^ZP9f(u)xQrsYwNwHComtCzCW=6FAc8#iS(Cv9-jiVxGsRPS$o5shjP!>1 z4qWC2F;J(AI7fD7hr)a=xTuBEzS#(V)8TbnZ}_&3|7f7iulYKkmamhxkZx~^Yjv?p!yVVxx!&S!yX{dU*3szTBOGd-k7DUo1#kCm=Wl*gH4;q_6&$Ie0)tAjs&Lb>&veY(mYgKzbJR3T61W|Pxnx44it<3y z9hlxY4dJOi1k)GFW_}<~z*0n0sn*r&nk#a%wsD)4c=X4)`ELKQATQO}>}w0!>FeOB+?(|w z%6Xh&QyKll*{ND*a&T#t8ew;ZZPAD!xoL_|T#!jI;n#@ex8HI9<~x2gkm}cbtX~En zOPAY5Cl2HCHc1ACo}@?`Lg1;kn>ZfqXCF>%>EFAWsWH$|=zAFV+DO+9XF>a5nF}gN9gVsTxfwTX zCUu7+f;SJW3QCLdR5sxdKySBgIWz=1t{L2XA^)^xSwpm~b5T3G2S^@w)x$@BoSS>= zZ(OL>xAo)tlMkTQXAZv)v|tNb)rn9trxV`FkQY1NKy+|C1HLcBs<{FOr@U7OB&t;a zZY~UP(E>xtxlU_1F_{aH#0iA@Rr#B~Q9tnw;{fDGjrwW#8-;IfFBQltu%`$g7EoUl zfb7+D@TDfHNrAps(-UYj={j`fs@q8fykkz1u-Q6Nhg+%8BnPoATO)U@s`j2*vf#-W z9Ul#wd91o_JEaf)IJcwP>x=ybU+G)|HdGP%H0|mckJdMy@=SUHWPD(%yarFK&{Rcu z)FDbA-A8K!#eG{HU*{wxI!C+Bfsch{h;?gBJ5fePg<>PL6SGdQzJAf(@6klP+w}K? zKhCY-?aP<>_RW|6KA$6>H69YZkJ@|^0^1@)G-r%!!p}UAFe+WqVwgcXhe50G8nsp@ zSNwRQ|65x&#M2Gvpj8~8gfC7wSDZF$Z;bb%7@A)#@vxz|FWk)!AUkZl9ce3RS-s)F zkdhD849d+MY&3zXKclxryF0`V8^J7(wKx;E4^q(xpW{(NW`mU&P@x2zX?91@YKx*` zO6|mDX%924r+@#8&wyX|Ynv;k^48l@fRPt zE1@52)QxQKf^cco;&wH>*BKMt{vma(9f^*2lSOOy5mRt#Fk;stmK~ZRo`k*T*}+Vc z6;8@s@NDg?#(ypsX|-4zOVqxf{=;kJPHRu{fUqP zHp}HlT9?>RW->J%kes2?Oc-%BGPlH#Vk3@itsqBdk|rAyvPnsEDk^yxp&@ggqxJ-B zYv#l@7*#0Fz;nW*8CLL5|M5jt>RM}u`ih>_a|6eL3D_u|Z9=C2WsvT+FP|A^1mMdu zChDl%H#GIfoLFb+wOgdorAo>BUd9{6Ma=EmBGc|Y8mc<7)~Ipz(|>Y(ip5ym&(4Ar zo9~_jNW-lM5y*6$bhg%KGdi#)MDJxd@aM#ziezAQ;|R+0F27O$)Ja{shKD6;U=FM{OW=FbVIz4;B%&QI3VUnz;eKAZH^6hlg&q37ytn z18}75gpx;L_jh(bL7Cc4^h4cTz#nU~+V0X?Nc1=+xc)}DpZ>EC96`GD&TA_wdb9QL zTszOfzuEh&!p<1{93vc3;kE&Za+CO2OgV(W^RNN%z(~hQG2UY*@DPb!fpO{?*XS}f z9)oxV?};CP+XdvKKh7;j@FQd7Gb6wQC@P(aqk8VMz%+J8*_LHog9^j#6|&C^aB+O8 zAP$6`jdN*WOnDGetT{Ml#L$WJR)ki&2tuwanve!!Nr`8~7}t<&X8(ASK$n~J&%X2N zLuH1+v~KUyVdByQz1Lu!WP&(ffo~bBLGO#K_8Ha#H{gsEOw}(EC~It0Ohx?n!rLe{D!rrIp1ZdJC4cFA$;IO0Uab1rbBS;$!$3iW;wWm+b2Qnp|W zoQUAB>Zd~puZFWMI@SeTltu*0drny2!vNg0iEV)G%}nVIFr=)`cIT14P7JR* z;0yPRN18wCV14-Y=aZ`V!Ee5Qmp}NckeTBze(U|acl8z|u)p@E`q`L|5f0IMPzj4_ zkKS8WO9SOtsW5=X^R=evGkcWm$BM77P+W^m#uHn9RdASpvB3&+@>1BxUk)!g-}8>xvM9LuHq9zVXtf6E1o&)i0|uPX!z22jc|f~s4*+oCGuD9umhhbHMoBAd zI3g7aM0hW>Qh2A`1#JJ(m+xMjuV20T``FyodNc`YQga#v4Zt5FKfz zoahyBCcrE(N_56zgF7miQG0^T@3Ll?UriOr=%!sR_eEfwbqi_m zA|rqT&ML2l_9=)|cFVzqWWa|YbPselta=hTk?xMXl5W~BRES5S4{+paPAb5YLCYdt|C)zU`g!sjY1{1$v&|K+q2+J9&wxd_+GvKqZeQK`=8v$X&-#u zo>Aa_3>cx$6EISZTk0g(&tW%o&pv_d#NrBC0I8ZC=~MYbfa*4x-It0w)|Z ziqH^qL4;6320X41(JZl%hGE>&GqECp>fj(S&q}v|5!Rlb3YNWtz|~YUeQleqZE$0_ z*BKzbbtJX(^wIX*9T0m1_mT8uBAuj*mHce!r&olcx2xC;W&wBOlAvVnE^G@;uEf9T z=6?I#`jfBTysp>pU;3*T;rY`y=iJ_TkG_Jxs%m*@+P~$^4r8I(EtibbddB4LxtpK6 zXjendK6E11>dTRkXQz%BKGR-~)MD~P=`@~)B0ZJe=3vFG8 zU44-%ybGb(#u1r)8}$*ySMBGLs%6&Qn)1iy6`BL(nU(1%^hz-()%GZj578>uBoM-tdc3+l=y?<&Y_L zX?|ygh_zApAyS?>ho5EL5q|0zF+BYj ZI89(|+8If>;Qth!>*mH;Vfsc>IuQvD3zcK2~TXSU@-_Z%JnyE?U|r{REq_c?X1h~zT4OHV)g z<2<_;`ki-Qe}(hB^>b-lt~nmOBp`jXaq!@eJySdwJ!l zuHBJcU9tk3oA6R7|4xm-UK4Bi{8NCC(oG6i<-WCt$p*ThVHU#rm{>dxpY70%P z;PlcjDiPiv^4-5R&+2FurMLiDiEN;NLy_P z?`@$fdT35d+kI?7rCseTnZ$X|`0^X=w^} z@s60IIZ~D|6l^=Wxk9v(+EneEp!9&5X9rJmNVYgA)U%Yzx{tg5D=nHo@pSx@! zKaT zWD@710ELhr2Mu9bgO^iy;ly+dG%5$&W*8CyOzR`Hc3c$*_6F25_MbFjtbQEQkZ!e5 zv>AL$wNZeu))C6VMM0GZlu^0}M1k;!Lqi`CV<+|m>KHk zuN8$>bumMD!r91;X6`xy|wH&W?}6!lt=yCPVhRG?1!FdX0WnF#rm1uv{w zW*Go5Sg=4vA5bCTg(i7$I-xo}hONO*|J5(yz6b6ta_zcYxr&B5N<2^)B4OID2PTf< zou?^DbGky+LxCTj8+r$o6q#bOF_7?MVv{y6ut;rJ%#QX&ATKjV?Q@Kv0;5^u_EZKs zu8CBqi7n{h0Ywg4Pvn zp^%chnUvt8W1UrH8HyNo?b`?bZ~WoieCE*??CwEtKkOd`3BUWzZ~Vn?cr^GpkM^;- z9XOF}Oi;COSaf6_Kr0tci)6uax&iS65oqxoK{|+KcJXyt9fx4bK-49g_ZFDDVbeFy zq&XWV{u8<7p+takaew-+e+f7I*&Xca0RRbjxvUquUqLL2y$Xs`o!L+9ZEij{Jb4;( z%{ev-GVL%JOar?(fnjm)Gpb{_Heh$<*q!^DTT!>*)38riy4ffBZL<4x8Y8QyTG!oI zV!Ob&F9mpwfWbl{$AV`gV)B?)=j3&MLds(oI&CqAtqpLN+GZG|z&P$e3Lr483?s+3 z3KVzRl4-`1(ELJ7_=b`jPM8`i;+SXmqV{u!$ILo(k;d z2M&X-+TaA2O0UbsT{AisM%%dyZ`3_^IlBcq9`j<=BS0z?=Oj)V$~rKh2MSj<_sofH zro*L@=R?2oc8O6cLfBQW%61m$Y$c%wfC!vM3pS|1QZ`EjY<@KFAoYQTfj*p`?Dr}by+P`MjK|i;g$79*V9v7E55<8M@71P&p zcIUycGr$*xLzSHgi)Pr+0T_|NiFTK{kj%hr(yU!br`BL{b=eT4WFkW|J4)$iUTjXM zzR5w;AJ(bKSm|{6$+R$EV6;r(hiDz{Q6{Th!-e55-7p-lIv|v-rN{I+`rU88{}8-* z_w}p0BkxCFzUOI;d`oNm6o=lucm>86F$&$l4lOg9*wQg9gF}%l%v%gDYlDIoAKn83 zX%5|JyNZwL#7Nmg_^E(-StWJ=WCF;Op_^ZjF311_r@?S2?)voK{F>JI|4&-uqvI5} zGv^0?oM&HqzxPr8Cg1!~z4aeICyc0ej-WHYbMiWc4PuM|69pbE)wcC(EQZs z=N?g_kO({SPKB=i^ttTmzy0DzzxBx%Y^t`qA)Epnivof&&URXxRsi*!wFce_BR4H` zKx^Ug0_UvtL)jVf$q3n9ZEHXfdHP$Ac!plu4TcWePmd5<>{2O^jMnt%2sgx zpoOb)-Q+$yJ~Ft&`RtwhMLv^Zc=Uz4dvDSY=MVe%x%cKbzwsA;Z_a_EDV><_;0XZC zLNyk~PZ%IG*7aml6d2N#N37m4#cg9}O7;QReYR>ttl^;xH&|7);J#Q)P4po0x$CO7 zD^Hwvbf{MI+-@fy{c)bZN3QGo%)=}kFd+s8OB!M>wpTV?b8cWF77_g0dv8r!oz}sc zsw;y}R6Mzlrru%l@dQ`$h|!uDpyBT&^yeee_jYg+t%oiM5qt_T!S?OL>^rzcaQO1c zhYbP&6hR1vGu7y}6l1or5+P0Ux}7S2#&^f<%KO0=?&qH%7i)mp4?F$P{`?X0SHJz8 zzxXp`6>7%X+F0HsV`X66Cczs{dd?2ET5uc)e{rOAro>*U1#1h7_#6hgSHXM=oG7$I z@Byx98x&{3v)@%&Pa`NaYS@szAP~N7bwB#!+_t*Ee!XAj%NM_B-P_4DYUEgZ1%;<= z9o<^VEa3Go0t*mRZGz%G#e3Q4v3<-UFUA}Ir!AzE)tB`mo_ZMID((Y2pdNjiVKFxd zZfsyn@Z18K>mww^Kc_z=gKg>4KTGze0~cM(5#aFDsfxZiF(8cH80D%&QM1)*f;!gd zE{4mq-AQKb6S~>@7?`QcKy<5PW8J96!SVb+@Fv{?(MQxnuS zb=`Yug=2?PSF9(u?4nbWIMh%Am{TT3?>cj1`F0KnPf@3L+GJxjAY=sCUvTGk=xOXB ziMu3aAWEmx*U1&P?5FR4kbR(yefunV^o6?zK;2I4`=^@N>#`<>U{tbzm@v^D!a@mv z+0j!h=D|P(HZ`oHkolX@HJ5ZQ?E=ioAkgD;jAPU_ng>-An|9>z(v}U{I|G+loi?%g z#N#5L{<~ko#2$N4{QEl&5*7%6meA|w@^YWNz2lt0fr%<0>LF=%0O=;?F}wAZyx{#P zoN^L1W;Vt_63wVcay&7PLD6y;a3;Z@bGHRl#qAL51Yk&scSh$0D3NnTM)?c?_jT?i z5MR(b36}MQ;jfDUh32i!7{P`myg>f8)Od|8MFR*w>3FYNz)>QYPZA$OqNr$xHM@%v zfA{UnFW>rIDe}=5?U`h!+}OQ7&8aNf_>d+ijp(R6P2sa@SI_IXe9n>BGt+1@H35;q zR4@boH*$!^<8;VMD`Yc`6K$IIGdkt)d7yAzcHoHypc7>&8`+NbwYlu+zyFlC{LjA5 z-`y|Yz5o6EgLl9G?rr{lynOxV_NM|k$GD;`ITHG`L^sj7+s0JFuh7yZR`G0(ZwuW}~rZ zDH`8stn=*Cc#PW@!Ed9T{-XZm<-7NH`_e~WxnI?|b0Zy#paC8UT-?}+Dl21p1BPZ_ zL3ooh8T+W*9Zy8av zTO!9fvp1yAffsFujo!)=zJJB)UVOOwZrVc+zHrZ$Ipn6y@fXg7efk@2 z8r;jL9pGB293$tBM+iH-GJnpYOuJ{ZJD;sF~bBM_RK9E2a9K1w?h?ZG4Y?7|`; zb!#iNq)gPnkEBVPK6M9gOGM#t(%)M)gAHDr>!ivBuPq5EKHB%bz2ScQ%i1sf+7R8H zls@{(-Q98Rhy2ka?!&J?yE_h3q8u6008QSfp;H09?ml^mgn;*@*_#|HK0dnmY=ITs z%nZMjH>u&)lTcn9RHc3L2T04c{>n))Z3G%7B+Jw=+E4-^5}L2 zLEr)2=$~I<9BD>bW?-vK>*;NvtOI~;&fTjGXYSmpE+jln967NzrySS0228`%n=PMS z3HlIRuS4&Ee^7>e^}=7jyW3qo`oi7aaQ1O8{X6z4YU%jND*T{q1>Kq2@?5o!4y4s( z_%*P`F=sD`QK(fPEkQh-eU{=hdLLa?ic!T31^ZfhWk+|^RkC!iL4j8p)=pd(IlFfV zyK|5B^gsL(_ErQC505n_=u^EQe4@RSMiv*!j0ht__v7qsr}D+kyI9JyMt~1+T5lem zNQJ3)ZDX_!{|lYL2bsOKT5>mo46_gT1U9c|ewX(?ynusgwqyqCZVOh&IZxN)YQwQ2 z+jw3shz>w%Bj(ylkcx6OFk8wtA@wngZEP!=gD-RXX7jNSxK@_qxi?kSTz)F?o!#xN z{%XE_@$&U~b9cV+;H&n`I+AbJk)P#5w!oOSjn4O3(zv(XWF2!bMh}v}xnrU3FTNR| z7h;tuV_r#+n1bkU=^3f`d+ieA1QVWtdQMUtmUHEN;)1vDH4Y(HR@3rU!qukq(V#+D zc2UYHC9-9(cS{D~5$ELvBN^IT+jWgN-VVA2cHAdaTQ%2i+qYEKMM1v|NN9WwYdz{5 zI>kWH7kO52J7dZ|ep^CEDfolC;cnmZ*z5M}zJ+e~EuSIbs3E2RX0mQr?KUaU$xiqR zi&L5cw44q5%m9&(XaybG4Q#&XP%a#Aosi;2gCS~QZqg5DHB|OvAxd`6Zf0DKOHZ9S z7eXQD_I?|fgc6*>=<;TZy(CbN0ATW{C|^lnzZiY1r7pG>2d}^eJBQeE>le*!7Eo=5 z)0Zu9Ekx~zqdTSVYd%_MdB<}5{>yi;Bmel-o4DJzJov&rlj-j_nf}kR zgf27>lltP7WT-Jhn}vfDh17>Uxxpl z@6P)keBqv5MbgbG@>3`p9$nRb`ZvG-=~t1e15!E89RN0SA0u%L5^E@ANHDJ;%06=( zLrK{iq3P2uT>nPmR?}KTlBs+UO)#1fU>X#x&NdGI;JsspP6zvhGnOw|MYG>-*O#|A zh1Tul3S1pr?^<*jtr|^&eeyypXtULj5w)}Jcrp0D1}kHNo(0(@Eso1KEe@SsqZw;d zqc%G3au75+EOX06zy{RY=j<1+-`sQ3AAQN5fdls&IPj-Al3H{OxusUHWhe%|QmBAH zG*#7g1%05I#IPBw#U4_MsXJSdY$HLGXcq$67d+y?f-tJ3cb#Gwuy&kc$zH;BxE~o} zgL1dlp8m&AI-mdM%LJPpfA!~6`L3{f79_nQ+@$HivDsl=sX=(%%M60k(P-G-iXNz| zP39$q|2ZTI=H-(>+Mn1L5BTVAj{jKMSfOhb@_#YlMK)j1uhQM4-%&;K4U5)@iEf1^ zFab0ylR=7QDHOBM83IF>&~AKo_+h2&g=u|3>Q;`;NU!EIblO~(5VGK2^2v++0#ct? za!%iU<7nvI>7)MmCok{UwU54Le>o^cyxzv?%$pcoM~B1j;BIe55*bOVGggY|z&j3s z<6fF_bOC0C%J}v$)lm#U5dyiR;k+7e3v5Nv1zxp}Zs=qf%nbNu!@JZedHSC|=?}q& z!}bqf>7^;S{_@X%7P7(Tglf-%BZ5HSIcnp%z!j z&V*qE{V)O}FZk??WNNLgoedf@tap1foS(MZdt-{lceR5D`{KWiJ$?TV-oD&Fu0O6< zufF-Q`0MZCZG~?6tCz3uh$)Z0jL&q+`G=$*b;_^b_yni8BdtyYZ!>gj4$tGVYIEZy z(;eov)4ST~Fu$LJ&VK7LhlPS5(f0D;8I4!-!&J@po}dUibY!FPb!}#+m1Cd2wEAv( zYLBY%^gpA1fDO|`9Bj7o!V9HMR2=$BnSKo8%%E^u={%0NmRHFoDn}GB^tL%o3thk5M29Mln}oN;8m&Z}cP&jFIciK4T!SqS zz-K2`;B3V1UQB|+219zJ$?7p$yX3!>wqq?BZI3hh%4zdxO`d2)WT5XT+7z~~Wo_3M zl+|Re7Fbklyq~Bs5?Y3y7&K6GEKL_xM?IZ~?|FNc^44GPH($n|zOVb^;s;;3XLrHv zW*7WPVnfnqOc1Y8VRu=9XWZxwiWJa9C)>gcUNmUrB&Uj5W{IO!Z1x>>{@z_eh0%qHB>i**2HTsSKYkD|3sPF0+VVLaUfUL{;6Luv{VNUS|aD{L)0Txqu_ zIvX~kMvmuxI44cVw-NxLLCb zW*m!*7LI5gEUsy;j@-{)cwlO*+r9X2zIl6B?S1qWduBQIab`$AQDzAC$++m+cqBx` z5@f4%pbgas1!YO0u8q~Q?WN7mIMsYDh#~VNk!-F4+&)$nmJAuq_uSJ~;7lSIPOGj2 zOYP}+Xr#3;c6$2XzPP5kj+JkRDyWhRLZ~%&#s3Ve1~JG(#$*0$%8-6?T#UT;;(-COx{-! z$J*L(THb)$I8%}v65;{i_8OQIOf~uV)Bkz>fccpz-L%e( z3x-W>Bx?iQ-Xl9spaHIwgo|>-kR*$a+FAEHE2aUVV;%PxxJGkk5+t%?o>{Zw(TJkN zhO!B1ug=$Bh161h`oF&Tz}N&0W;YKsg39evx5vEa-b(hy$%*XZXI!CubdrNpiOhkeEPq?_zVICzdHGbXBq~; z{|C@LV7lxnt$VhS*$`dmbXs3z4bOYgnn|=(;hBZ*aGH$)k8n-_*LQC{=7q=*{$FJy zHreGb!R~Y!xOjs>keg7vUYg^df8yBB6xS2&w+_Wqz@zDygzFr*vEz_f z2{K+h)!NbFc#Z_rE<@tbb=dcP{hRr>dDv+tSEz#*Y;dsIPdOl(6BYZ5Hy>BB^nOZJC*oZ-GJlF zZUy5JaLf@77j%OXz1FlEC9sm`no|4jjF_ngHMh;ZdK$cO1A@xAB5b;Eh2yYYZo=t_ z&OGjI#iV|WSPd?Z(jandNE>)`iT1RLfNDsr2g^OA>@l#W7~A(b_{p~MvkLe>RPSEB zeEt4KzWMUYuV24>|EJ%!W4`%)I3w;hFps{L&xXL;O$hvxY+$@-Ra~*$Yy`^-M_=7) z9v$Gn4~b|##i!lQsz`%ye(*|CuaXV6BADb`yL8f3gzj!|6^OgTL^Z^*3S zZS&=wT7UW%o-h1hh=T$KNB{?=qKPFt4(LI`Z9tM+!-P@(9+qU{7M?K5*YKyiaFZm>)13Rb1@Axl<2+A&`EV0I$L1WqwHmU8 z#u|W5JHdNB_|jhNO44CTz)0bQ>|_ImYaL;ZrQCsU@dI0NhL0v$I3Y(N40~`z5sb6- zGY*yr3eqm}Rt9e)l9wN$RLzBMy1tG_d7-+CI~{?$M8PtOmp)PF$u>RV0w4*CZBoyY&Vl%ysb?59BCX=Y|>&)hL(lr z78tp-2%(IPsd?aNEwSQHl!y(l5=~8%wnLVqy~n4YvlXg$Qdwi$U~-Ambm$~7eQ)m@ zL{Q>SZ{J>zzG(Noy&Glkcl#%C_Ff3$CWP`N;$1Wev+!yd0?q6wt!|v!odv1=*?dAV z7oV_?b*fGq+-d2&8GN3O;Ub5p?}H}psC6+A=kAKvKNT$ll0*-XS~SMfzj!^}21891 ztZhyR2_{&Dt*K0(v#;HH@8CmB6(!dlnjs0cgqhQU`xz!8i*9(*(6|(iirE1)>BhpDO-MArm{JZ!W;2G+ zS7Y|oP969#hT}Conb7`i&@CZ*$y$g_iElxHCZPks@oXV-Mz6LnC4V=DGOr;ZPjkUcMwi4s(nD#W9w zNAtucoj2OFP^dorEBF*NTEkmvY36dtB5#(m5_9AOLszu3T)7!S*zFo@^iyE}_&6P9 z>l7Ra?pSBQijz#;faZ2gt0zLJ1%PR18U^`rswF!2D;hohtKa#c`GztKn>7@k1xB&n z_duEzfVH7bmjDysY95RpqhhlF+IOL7za8OlZwpV1Jx7ednxSKqcp#y77wBj;_t9(n z>+tIAXf*N}>-a-I&h4P;-79>q`2sa;h-!% z@d(RdFojCdI-sy`03XJH<+_N+zFiaHT@(!`Rsp{BALbVUS{siFUp^Y?kwZ?_L7VyafJtK|;_5r~i5jf)}mig>!j1$7n z&Bj&-BuD|oRluRx2RgeKt%Rv<9TWlluV9f{jf2FggaLX)r1t6WU2nI=a4*gds^}cP zdjfQ)ThCUM^8$nH){)8pQ)ET&b@|5-^V)(g6pksXoAE9@bD+8-bwT%TtaV_(X+t=3 zj2_7AMY+Xw(sQ2vweS4>AMXC(cmDPVJ=E`i_^*Gez4^g+;_H{M-v6DSTW9{@dtbl) z>ebgj{&DTU^Jl;Lqu=<^Z~T28jR7y0!i7sbeDN`?%W1QC3$k^}3EC6{+P2k@Lrabd z_Vuu0dM%8m4L?>m7@+jyN7CtR3f(oZvqwZPB2FIX+{(s`k#x~f!Gc+K; zpf?L-N1+A2JrcftOzYBI-yM-X_{#mIC6)#X|9T`$8B1Auz!6T@`hj=D-7;VDf$KZF4L<(h|wOPOtKn`av1Vb}U zjfEx>q8+8i!~!IkCmH=Cmt~ zf`c<0vHM_2M%sQTT=2#H6i)06VeQe+1Q#{H+y*Vq0`r_oI|bK!-Wrd8=lz>+1hn4( zZEnEN559QM-unIK*8e0#iE-Q$isr@O9YgG5mtuUfm9_!vWWezoS{5Oz)hMuT0F&Xe z-LW%)!?cs&fM4x^hK_KffaoDmXmG<(R9MLc4{+hm!k&C?2;C9R(?kg$RVAH;nIno> zQ+d|p<`x@m7#rfi2DJft*zO&7Y1%w+bQYV}xJv>3jpOg$zt~k@y{JF@+VAYkkG^`( zD&{|S-+lrN@Tc#?oM4-Bu=j%>hz@Mi_A0D!fv{r@FY-S+}KLQE-FpMiDJ0XA;jfa$VUIDO_qWqbWZEo6L zG;eo~|M1UY_Fuez>-aYBAG;5}gwG%(K3;M3&y!g)k(O>dI?x(<9bf5eAKDg*(@(X4 zWDKsh1JO3)%!)U*ix`TDkFhwido3x?0Rxd*M`RO>mzuawWEIX_vF~O)BnV>_8L`*x z&>{$x&qj5^X zd(&P$lO#P4Fs6HYW+X_kAqX(wFZ#|xWJF|Sq+s}`yg+1RWEE#vBu%oWyD@Se$*9t=C}9cs%v+v?o*VRAl_2bvyqY(FqI*8uJ9-Y+-i5~Q7{Ud4el+uiW?26 zJQQp>h&Z~9F+Aa}o!Rj@bebK3z5P^Ti%A`h9wCG((p){7IB~7p-~R)YnT2sHqPqG( z2YnWdHfe3HS$Nq)J?n7V>1wMm+_1PrJ_?>9@3`cAV9`Q+b&v=~1;YZ;xo0~~YEYls z2&%fq`>ZhN3hAuP_tWmq3-%ukL@okc2m_H!qvQdu!irs2e&i0pg`}NsePhaPtrcP& z_kk`q<4mB2F*NoN1uKe4IUKwm2Eh`;5)7dZys$v&(|k1O`s4ZL_4_xk>P5bJ{o&o4 zSKn^DPYBPS_bon&jiNhj)Mt3+!`qnW1Z&$E{@b2w^5B+{XoDJ&*Xp&CvkGH@y|o(v zbI!bNv>||w0(M+ErteeQ8xMrJVI6@cd!{TcKW(4fyfcc2#$MbWh4}GQ>!*;Lu-6rJ zXouF3hU&f#m=kj2iVjX;_{gy@>jJPQN2@J4jlD3;IfR+fHVoUKq2J`l zXi+aZIq3A|LigCHKlHvnyjZW^QyKVO~Tyh&`);vyS<4lBcDPgD0 zk?PJRx{<2kE1X79I3jECpElttTv<)aX6Q^~k_d-vthNN0x)+WMV`*`92i~%CrhvJ6 zKvt&v$$rv+HJ}xy-&CO>%2-3p3KYR>jicP~p)>=+!J7j4?GdddHXTlA*s>()r1g{0 zWDuld7#E%)KFY>+1~ouVP05hcviB9P_bsL0{P6Pi&!3*|Klh7!!raDRw2uQ*uiy9t zc7uK(RcgokS@{sa0E5O{h)4B>M4`g?=%kAQ*#;G!sUhrGmTUxGr_Qrh@A$6MX6V#r zP>mL~p#Pb<&MEBaV}M6B5qi4_9J$+{`OVLOcJnI(-+4j+>=)+qg0hgVDTl2%UGOo$ zVMYmK{pqT`>A0K-*9Dr2md4;w4bEvEQ+rSVB);ho#Rveta-WgOHQPu)un`C9H3E~} z*4Dna9MBj1dw&zdr2p?}1O4{e12h`DD+g-SuofLwpV&g~urOI1GwR zoxave7L>Xr4(Q+EI1+QOgWO>z61yS`(UI6hEy{L+9k3A1gt09Gn0U>TsR!>L80*pc zI6$pd=9-LKuRO};+^hE`I7NLUNDik_&fzGbee|WESJc9#!P`O@W+)vecHp=+vJPbh zZHlJUvvJ!Iy$p$qvJb5VuJ;)m!27~b8uv0k13@P&_dS~*{r3BMpO08{&-~7wY)#W$ zYx;94+`fB{zX5Q;^^f0D3(iL8VDIX&^T?EQ7O1<(q!=9z^2Fs(>Z+7&+m^b>7rN9B z-eg6e5QXopzA+YVt0dPU5U|2}R(8dUP4%_fO5=eb4FiT~+=tHrW_$$RqN75WY^m?j zVp&Vdo$v_3N0n_303T$zyClRQ=qy6gCQWof7AIpLh|9>eX7wF=!OAh0VukEEAmT=y z2qgy9EYe>nwZV=34p{J8`R41l@!`de4^Je+KJWW`A{mzb`?TX9fBPGs&szL$IEO|X ze3LR6Q(g?$B|t=oxvlo8$uXDfsjxF^_GU{K@=KZrNNOWbom>faFbD~yqmwRkR+2{is#BP2~Tf=)J!>nQk(oW~rA@dCITD3I}DEjC9 z{x^8SU}DMGCe|2jOaY2|LiRtdxNK?`B7|+OCiSj63<+T%2?ilM8gmxwffTApmNn-@ zUi;yg8z#>}h67q2%^57J4Cj&oC7%jVNN#t(}Q%p8n3-VMQ@u4uvx5I(kl?+L8Y*c?~6 z8^cK#%A=|V*~vA2Hyi0{6+8~z{(&oga?OrJn_Rr-GNc@W6DZ)QH)NGB$~x+oJAbDQ zmKj7rYf=ulqf@C(!Y7d{G(kPT^a9Xu5DU)IHE3?ZpBt1sM_9w(qD^|ldU)o?d2;Fg z(%@LQ-9pgnNpKR6Ts?&Y7TyFoC0REsd=nRicmoO|3b+xpEG&$e+onh>fY3fez1BF8 zK6ZrUKH%TxOvGzQ(mwrw3@X!mpT!>qXx$!G<_~eb-M+lnD!Ah5jH8%v0V}=Jbri(Y z3kumr>bBM9nO+^jG@l$mkx54{eOPZ7XVJO5lE4=L{~#{eJ!NiT*I<$k^F`(Pslvc zwrOKDB0GXiUC|VcMcW7w3xQI={A^$p5M+D2g-;|U!DcxQG{-%lCZodl)(|7Y(0?gf z{uu6$pz5S>mI&tJv)%r|AAJTys{5AAGe6ERU$cMY{hM#zWqloQU*wxz`BXsmY6S~Y z(L@MKqUQtF+swKostq*Q!NKA*nc$@aT(h~znZquNbJsZ&l!wA?3Mf7ov~VtdCGtO% z5Tw5I^j%BGs>pt+#d3VS&o!`Y9(?@I&8PcS#pOL=7e?QMJA+8`a1GH`x(8y+6jy*Y zp$S~Ac!HcE%L!}{mVk5xIaCPvmfereHYG-^04L;1p*0Aib#aHWv`~n`7BoO9JqlC* z`S>Hg=y=G2{P8E3n8X}fyf-1bJO?wm16e!a=LZY*N{s8cyJY}4#%)i#q(HzYk1nGl z!JyjN6G|{P_iDQr!yA==l_Vo7zV8P88Dgo6%@yLx(79oYOaCYTG7Rw_I>I!j=TjO{~=lC;|6kw??$A>ymN%Q$K*j z1fCm4IO`e*GV#jj%`6Z2P8(i0nR-}T4G?wCHso#<7GDOWooiEJJVpfY((=k!LpfQH zkiLgX`CQ#hL`Vy%VtWieN0F;}uPL=09s7i>-5g48WVeKIcZaJLv2w`fiZ&KUJb;`a z{na6&PCo(DvC-Ns#$@;-#FARC zvxm=JsIrX@?N!qzPAm{5f$tkSHm%D(E2n#hEx-&2K5#@F=DJ78HqZPx-))h1<>j5Xr%{=SOhap^#k$=DAApFr>*e&OF!TOELcLpj{-G4M28CV*np4r z9TgDX(z(CsKlkH2^|Aiai$3Y-u&}$dGhyE91Ao#vhua9N^gSnr?js_QK;=lO1rre# z$d(CN8wAHP2MXS^2N8m1!CvoV4J@4$WMi+61d$zQ3BVqwBZJ`nGo>&3!)KaPag_8f zxFZ~7M(++n3CLO5q_0-dnjX2V@UoMq*AdLIPKM2%I|1&YWe~W}er&0pRqB2glg&cQ zZwzI29=Xd3E@AKLq_;o)qtAeU_$!KIthtt4A#U9hSn_ijn#XK=4Uyg8(kFZa;Omja z5-sgafEuohiUx&88+zJKW6hEHzlr#X@7Sj_k>jlUyB*(7hgq`frBhw z5bqdhHkOklY#YHF_)tdIKi^v5hY6ni%&P{UDuotZh3?&p_IjBWJE0=}>c>0owU4pic*a2Lbs6H#GEgYh}@q zJ1~cv*L|(BB>{LrSgEuzmqCuObatp4jve5(iBbp{6bqSvP!J5C6DOP*O_`Ml8tqs7 zn2mkN05c{p&3Sll$2_A9DUs+BTGxS@uG+d65&q=sm#<&GjrWgb($Df4QCDEbb}q~y!i!Y)#<+)y z;o~OtnhLl^z|ZR(RdLqPA>DfgyvM6eSitX=o6aq>MbiinOnR^(NU;!h9B7Xt9W8jm z?GRj?j4(SPV8^v(fTcYtdZQc~z_=t|Q(Z#XB6_RsVAsHWVp{eC`Md_K`G?yhV#lw) z|EgZS`t3)n?YZCD6P<6r>wNns>3p}qH?!~Lv7nq4S2?qGwLA=^x{o{u;Ch2T$V=mD;B zT|Umjf2JH@eFHJJf@81SpTSeCRi=Q-BIKrTkE%2H3RS6CXF5c@a(d!Ooy={i^wz~! z=QE~&Trv(7tkFJYBv34Tq0At?Dd1sGnAt(~KZMEFK;!uKXFp~4@K5~O`>%fc z{h#;=lu!7lZ-q}C%3&mB#W_<$sGs9K!Q6s%zn|8m_dSm)jWCd4g=y?Qwt+YQKrN1f zKG_v6lZDR&?e;wg(9mqABdRcmic+CVsYsmVC-1G2mQ^{nLXe1(L|P?*zzgIsQtk#?zJ1go^FkJdV6<845QoVu!$)0Y zf)w&Gx~_Df^(R6Odme9H&U$1Kf^g0D)$Ktcg#jzjy}Ggiaxth|Mdz3xBa(n}Uv1PJ zFl;o(7b1PdY6_SI^|C!Cg!n8r`{v4$fT~%5*cz%BtKr#~K;-$zBJ}gOwd38pcw`ZJ z?icq&#YJD(M->--{n^#`X1g_vXin$To2ZcyfY^PQYAEAsRJJ;b(#h-a3G2;Kd6F-! z9tTP5$RbUo4CB^>G`=%)#Y9iC7W5IeK&#hW!eFz2skpk_V~$$G6pupMHXw;fjJaU< zs-dIGeRRUt8hFxH*KJXXbuET)1iI6{s&b=k39%fKy*kWIE7+&83=9b8o{p)N4LU(v z8fF%g{eHpy_?vexUpy}FpZldf$x3f`tn^Q!*yE<*vRwQ`r-M;9S0q(GeLyLWT=0_< zxxr+u;35y08qPc$G{-~QYW zFcj?UJu8qE*K2dKDd%O1K&}S?gBZfe)NqFcYo`!0A);W^GAvm56slVZRojK*#E+b# zygVhtUKCpMN%igmcPbe66nOo<1Fp$d}z^PSj(nols-?)Z?`{g;0 z%GGCnZ%+>d`F4pfjpS`Y5x$(kcA2Gf3&&rqmqqyQqgX++s2%IY~;ZobF;|V!di@b-DVT&z=*Wo z5qy)3hY&)HcXRyIwTb+Uj<`6%e`$)iT~~2$M#|KP5Z}qi%FViitiZz%zaB^ws5aK_ zZ9o^wDS3(#U)PdG_hXyiz}V)&QGZu-JokHh(z42Tmeo&Eay&D7>-Oh=2*lHZrVE~h zQ*nViMu`wU)VVl#bdF6!tInxKg1xy5AuTTmbY>WmA@rX_LlC3{L#U5h=oT3}Mv8q- z7G;7!4LL=a1+-vXsP0Q`!bsm}lNvP{!UsI9;j3e8Fnun#z>sE`xKEBCpuM40?F7r> z88hW-%37QwFfq0@q0e`WK`nKmxfR=#_o9GjETcya2FU+W2F{1C>fPf}rcQsVO5>F7-1#Bezc~h#x9aG6ybD(5fV|G1#!$rO>Y0>#l7FK!5Y|6(3dtyb>{^R9ZeF!00EF>k@$d9 ze99>VWnDTLqU)K9@P!zl4u*)eYXyMcXsSA!ot2ZNZvWI(AcyGn zrNKZRT|tC(0AYPFo?RWTi;lMM*ik}5i}2p%=!O~68#+Zu z)(CXcU2Ba&+!qw*+?9q*zWs&EPLp75NVRmZLl74xfPO&r)_}Gy-Y9FT9Bk=tFxMmx7$B`y^D)#oPN1m zir8C|cEFqE&;m7EkP8AGe8gO_c`RrqD4-LLjcjM$3xj~X@(93f8w6h!AsQrVx9MBW z3G)Q+ju=N|#qz9fdHZMZ6o7Qa>b?7P0?B6Oj6GM7_5)gM>tdmmQvwM#1{phf4=K1n zwiDn_(tvK?9vf6S71Mkw3+r~ zrRsDAzsOv6`%9NttgW#JH=oBFkoJm5rKW3c>PIkw=gmbjKs-xs1Y|Ihnu-{VrlWvn zz;`YcJNuC4);m<5hDKlIOxihQP>e+4w8xC$JNG=?Z-4np`;i)3cV$gFE)7HLEtg9B zFgj~6q+t{;6KU*_g(HS>XI>pd*mY1p5y<;&JFggbDERZhH98F`P8bz|FE29M?2a^C z%{thsZ~yE=s;GsjAXAI@AU0`5E?W{?IMBfCIC45*^s5~f>r<}`{%BCROj6g^Mgy?8Wy3L#S=;@nL8Fw zM3o1Iq5wN}pqY1b?JIjbz+cu#ma~Zm)cN0Ty8;mA^;KV>?i@CFBxGRK5~Da)k}=Qi zpTDxGrq6VrqHcr~vIA^S0~$fWvo&crW!>6T8=UZU2M(4tW=G==LV<&U)@To56Rnv~ zp^@T{PME5$mC~X$9D;L(Bj@ap3_5)K7p`3k?pcpw!I`>F7w&RsE(%>^HfX1&wH+Rq zVvWQk2J~m~?bXqX_B9t+85>8gwV2qfL-&Er4hZQkwPeA~r=6Wjdyj=-^~$>ai(S=*(N>YREVu*jj#7VH9CnZ!D0&>Z4UYZ&5%scnZqN2qQz5oA<{AC1^Q$h>8VGW zfHMTzerk$%O@_M9-A~iLgdt!5(tkKTr{9oYOyg4@wpp#9rIA+EDQrG305@~$VB8858? z2*(vqcZ9=Y-2Sy|?_301=3KeaN^%S~x4~CNc~yX5yRQ?D>@Q5AFnt-=ifS#Sf767^ z8W93MWz-biTN(}cuNhgRKr0ydxt5b>8v>o{ghnMkUX`MO-C^crRBdEz}FHOYj5k{;QCrZ}dObC636MXd~ zR+-a|-u{j2Dd0BfrU|I+6dPT?1xdLt@41 z(b)&6@Crw5zlKTyKwVzZb$o9B?$uk}h~eTgkF}LtEQMtdLY6_*N#{c`g2{5aq%`O+Q?;J;B8}1uD%cGjvG=^KvQu@$C!Pdj+{iCl5|>*Gc6Y>P8LDr za38b;)>Ui(N&W0!TD2EdU{#&eqiR#MU)pAWxdCr;yjA4G+EV#ES0{b_z~$nDZ^5 zdxGnShM<4wDo7gTIiRWIjblM?K37vszLKpFxsQ@5DEz6Cyr%v2Fj}o>{zE2nXJ1Y14c=7(_m*4i! zKh(QN$+yq^1|KKif*1LHe$cnS@d=XKmCyoRI$-_|z3wdN_JT5#osSFb%6hafMrDfw z+siCvup;?000x?Sp$5~AT&zCP$H)`QmUq-;Q+yzbXZl8ZwNP(~Q;;7eYCrSi+(*&9 zk5exmz@tyiS#(ZHR1D}0>oLrS4mT)`qmXttx}ei;d0|tDyh+)mK?ha}6hYRO`o@??LR44k1!3P<-X6}m}xwi$Q#`ni(SN_)T{Qw;pYhP!_P+`p0TifdqjwabFx!Y*(JVLwdi z8mp5+o*#P8$LL|QU;>D#KGe|GoK?1U$IxC4$zH@ub-RIRL6$A)@O3tVMRsOFQZN*h zenu|+C3BlmIH6bi2_v+9Fu0KDu-~i|I@BHoYW(=C`q`V8`wq?d1E#hWl3?V#1^j)lK9HowX4Ft{y>1)oZOAP=%wNbM{!&mJdS@ zWf<)l16~xFxczZKKIh7^0s*p6#-i8m4K|2<8j@Dg^{PFp#@~Pv^{(E(dG)*X;+uCb zAFJS>_a*-RO!$5P05W6#q`TX?0!IY>X2h|d=DaNe;p#PI2JW5Mmlwlva(1+Un;DweCpOpZ1W30P` z&7lyMIvcRoAl|gk8hr=QKVw0I9trIqehsh1;?t~+(iKSk?KLxD#fi%|1*`knaZGDU z+_Noy@}YkA;l)?=v&Vbg^S-uU)xGZM=3LtNmqJyzrXxqh zmU=SqL1V3s!JTEIb2d8Riqi~OCk^U?8C*G1pT}t?FoBi_%$tfqi^CUy4-Geejg8Id z%)yu}ID>T%4iCe9Jl}7;diTwXjQr|xCf_r^wW7^cl z#c^QR?cu8_!V7p3n@57Fl`Cu@L8K-0_~-++U27&lFi7CoC-T@b0D&bBy8O*>m6`({ zVz4c}_cGpe`wxEzt#Gc1Jd|wfFhHAU%(haI(rJouysT}iLSe)DtZ+Inwvd%nn9dSsLV48ErP}iI-E22>GvnR2pmBWOxeX++L{A1KDDJB zJ)KUc%864Dt=KV~)`qhUHxI$x11pE&cpL!y93)H(?+A~8m3|{B&IJv+8UaWvr7ca z#@rnuI|UB{iCWR%;es>+lfGmIXv_og06u!6u^nn{?R5=$rYuJ8D425l5E0YXeSZi) z^W)rWIoHoWJV}>fUv97?s>{_}-_EStcmZQG8n^-1V$Gu%7|z{2dPu7^qjGLgZE=Zp zBp6f#H|rLSs-qpwT?j!7!F?*Q?m(jmo?_E+(Y2CMB6P4sR)c_zo zL(zOzTy7`9k%30~4&D=!FasS<#D-5lhlCb!o0>UKUp1j4gK~C>vLSda6j!;Gn%WOX z+Kjwf>MicixaWSH`v${TA3nT&QSaWpdH2+3dL=s%)R|S-W%gvnNKDa+MYtj|@60>` zTqA^x3j;|@(EwXq$ci6pVFh#>8(E*nAUZ+jMeRP;MFWI-0ob_mMhtTI%42&S{pd5j z62Pv{bhO;nfkQ*S?L`|=YZHg!25X`E=Uv<7I>eTVUxALrgt_cGtS{@oX^UVeB=L63G(-~{Mh zf@e=%mzWsZ+t5i6#^kn>TWV>q#8?F0fI2`5FEm1(;r?@3jEy53Vk&yuO@X&dI9OK8 z8a+)w?KKJSCvx<0)<-=f`a&;4=5=MX79ar7>}0!l#WxzJm#*E1L*qT-wvtyZ! z#xxF|T1R0y65G+BUL|e@)a1bEqI)~gvd9F{aA6W?wyV|X$j*hgL+`IX&;2-$Olz;- zzI@UV!FA!ecpYztdgO(QPU;{%*P^`{+6i(pj60?f&ltyc@4m}a_U1(Yk=?z%s{n1ynJ$yw!z0{iZik<5T?dwRugW*#O2JUNI zlm=ioT1&@ckrN`UJFPhZgHTD~U7^sn<@#XK zh!MbZFI8G-#IQAxbsI*<7^_+I-8(n>m<_&9tybKH9hO z?tS$~so~H3(tdyL#y>!iXmz3Hv-Q=%2sxNEKadOrBK0u=;aRm8B$vfw%r(aKMqw{h zNoW{G--rPb5Udbfc1eq}P8p=NpvwB?%iP6?mNsrfv6Cuqb3n8zD zT(G%@&9;+DVvYkHJ1g*&h$;x?hB=8|Q)rNL?qFaiI!cxZ|Ly@L^ztpm0 z(r^ZEWRV?V_@*HW89NU_2DH(Nb>9rJ%5KO>(VziGV=9ukTO9CBjM@Pwq}x0ybqy*X z{&5dGZQ!rn7tqVKFeq3s`QJM@{`Q~NdbzKJ$8SH#$E<*7et}PnH$KjHl+QEYQ9UT2 zyn`Mk9R@?it60<#c6~`hQy959$xuwMCeltUm|2%21~{Uv)|5ROE>8Q5AVV9ntoAa4 zMCP1!MHIG!OVSQfNW>-YBWNdeV50UxW(PX1%>>j5T?p=R7!TKIb3unBhJ7ZM)DYZG zPe(`BHmaxxg4uRS2k90PlL3naBH@vvQ!Pa-SF8!oGxG5`t9>`@{|?yu-N^p~=u+Q& zc=_rvg6^5$-;*KTau?G58E$xeFT|rWt}!AYY6TC`bxuM@1}%HFj+mDtN9vT<=}IbG zGO4ev3?bW|n@WIZgNYi-%H!+|4B?gWa>T~ofE#6zEy1mw1;( z{?VM{x!>CpwVd45a`HLubI1b8ov_EZ&dIP;DeP?y(9-6%JXmC?!+j;ZP~l2ApO_#L z&6Yr5(O^X~@Bwc{5r(njP=jbVf!bI|&R7r-9=Ad0r|+{l?g5)IF4S?sn$|DrFOTp( z?0^N+ppT|W7HHH|c41iu!qS#3JrpK~4JA{{#RggBlEbSb@aa_a>IX1|BWquFu4M!5 z-aZSIJ@fl9?jHr;0SLYLvK}}O_s8oqzrH8xx{n!ppCqH;2iWEkzUm?*^B~El%~SKB zs8W?a(>e~Z7Es>W*g40RxhIkH;IrzOl1amV(I&i{kSUU%b4;+!&X_ZHGgPfMO=N3>_WD*pW z2pB;tqQf{29MMRiDzK9#bFmf;YqYT6IJ|)OTDm{>5`o?8n^!Mhy<9Ky&F|K``10|V z_ss9`iPDbmlq>u>Dpv+V9+?`N5fg|$2*FbkG&1Mfxavcp!{~{}QG(wI+(4+K5pE!B z&owma93%*5>zXK{p;|O}@jQDqK&jRxr5rTs3b`H&V3PY(mRiGkf$obRLfFaRlv(b> zMN}n^`Mf?1J+{z*vufmHAKYIDoU7ewO&AX_k$0I`j)Fg&(G~&QcgmRND~2}2ot*)@ zAw-$?YwwT7yL$1{dI4{Ez4&>3c$8ZE%&+gs%8u?TyHA1*9rM5hUVZoiy4gC~SCMcy zU^2KU&C%C_$7}g;Z5w>GRt>}`!)3_Kk#>sM-rgl)`^Dc3!GUqkZti`^8Thg#Sb<3{ z30rUPxBuwD6TRU=_i(?Qt9~vw5+>1u=IPz{j)N#9JsB`M1Y)B=G?GD6_w1bp+OwA0 zM!7}rt?S@JgRSeix*s;KP;D5)_HLI~BcTkr9|}JA>X3PWD8|ZDLw!||1)|xJ^UM7jZKKWJTJyBVbh?iTXHV3U z`%Z~^M_~Iw06gt=TrjFfFROuOkLcE+msK3Wxy@#%Z0~C~h`@`F(qedyOG7cibI??@ zA$b&Ai*#fhBF0l=5wMK|Kx}qbMzw$60nV@9{PguB_ri0(wBMh-?9(5iX?m6k+=UZ{ zz&?j44d0V$K>#eh#P^tW$rE`VZ5tOdjCDW^M3Sc18mi5%{LI-#>v={u-4jvhaOiFT z?kW-lEX{(pb1~_>pK<-Fq(D6PYkT67`tfq>pXYKzFm1tzJaGZkCAz=`Hdcq&th+~g zY{EAe|8AmG;ENS%XG6^w$RsA;(LqN+;SGt-SQp#|Rz}&z7AoF>vRKn@@0lVADdiIn-t6kvu)8uld}SDxfE*fyn?+U zKF@}iYiO+!Brjmqfx)sy#ISQO{`~RRzq4Pyd;1tk{JbyiNu{ygDUCm;$dO;X$lpZh zKz_Zy_(kl%@h0%yb0o=RjDT9_y~jkF+Lj3m$_2-fzLEyFe&7q=L(^?1yaZQO1i%o; z8MFn9VPCK!+;>3drgK!2Z_#dA?aXH zM{{1K0}cX~_9im$r%J<0R{929NOINO2rG8BgnDrRMYsbRtm(J^_~M~# z7F^SJbWjuUIE)UL8~}Adiofgg00RTMP8lqL;be2N@3MYoK<5Jla{L+kbjJMSwaoNen0}XoRb8fhd>p7oT_z$b#o=eb2QUJ}ljx`fP$^V42x$ z?F(MhcQ(4Rkop{8>0cu6kma;=x-U^Tjp9zzEPYW!h2u$6&MRMZSnXZJmA#gp$*h8Vkn+vQB;1(TW zopfLQKKJ9?H<0qpo8Ng^u#LZt58u3dN(ndx5VnJ4-_Qgc4Z)n&uv=jRG&pIH8q+r5 zT&T7dsAUCUezao^6-(-@Yyhh`{H7Wco$%an(Y^LjgM+F1RXmWxEH~p~S0zF4#X1uC0YTSwU(61xiXQJ1wDrU+P>_az z^yZFiG~XCm0}CULpIRFGUby_+k8>~b+4Ximv9RHMX`xGDI7F(=*@bm884Z6J*4gGm z$cIfQ^fXu4nrrtyj_GK*#)3u}q!u*rv1hIeVOV=Kpc`yvgr;HS9R-#1lC*ZlDEcKT zbmYk4BHO($K#*Wz^fL^92oid)z8FmNv*$StaBZn7+0+80hDP1yfI7*dMZvW*4O3ONj zS_ra((L*n9@OIA4iPm`>(hC|zS-Qc4UNpinl?z+A86jttESevvjoIO6UZ<`#)z)Cq z0;vPQ!M%CfN$S!Y6!XjC_Fr8XKc`;RTbq-lH)rr0_S}slutRex0|8&Q`v?wXMxM** z+2x2-j}H81M}$bj>IG73qfvlj{cJxusEt{3W&-b+UAOau7m<$a+kbuG9RZI?f*Aw6 zxqT{}8PJE`N26GM%kF3Q+TCTrGSgCg@7itinjJSq9tPwjVp0mU#48Ai^6+R(i7_n$ zoxTTTn|4A~DN~@(z5O?T;CuQ1r|)I8;ik!k;>z(VcyT3=a2*+NcG6npMsk6;Ih_;< zuoh7dj=zTdolabCWD z`TnbV>O`G1uK`5pNfuW-z(i)g+7*J2h9L<4%7ocri1lO9$Ha2<07_A+i zF|rrx3DS$})}Vc>&I5qT6Zjf6WVe~^A%3^M72FtHwQ;8|e5E>72>1brAWH`itCb2O zA!=zX)B)ZRBLbxC$w`1`bqgxQyDWsgVxY0Qxhl4i0YI2f@v~?kf2YndK8oQW?ZuqY zZvXuQJUYfc))-$_(b)wVDMw|fRUr&&Bg<|@a3xZslwfk)Zj#y*gxUrlmoq2mtCG}2 z6Le}9kWO1xA&wN^QS!3@vD|4LNyOac_CH)_8Hl`K35%34aOUYvd*7RLHr%)bWRS6U zjeZ5qAX*jXqRy+Y*@32Qn?0attQID6x^$2;P}nX*-((x|2*-jw%||LUwn+_$$^Y>> z%k+dFAQ{yr@PnIiE48LzqVDjF-T}-)(&~Z2Fnj1&iU>9-AfycCMqh`T66n6p=4 zgg%L=5)|jsecI|B?*`_X#wd;M3)bg;oV#z?-}d)Db$Dc)2Hb2#%n_Y1^+LZH4WGtI zm%DEbl+?&?QUn<roj`0y=FrjuNsGM|I?2?1H#trf44ah# zX~#_Kl9E51I221eAJ9%f2DdYs?A-;jbV%Oe>sd&2Ou7B9*RDGnQp9@Z-a3wL>AeWc z7PTuj$pJbT58t+7^KXbHu#Ollt&82tGi>ShEF@kN_}yq?jXoMWK7GpZ&0KW$qAARZ z)vE<`W!?U_t6ufva6qn_n_0*bpFrRH0J`0gX+VuV`5f9C8a|pw0651M-?}a`#r)9_ z^4lF3mr+7}9yDchQs8f+aeR$Q8rorRQT!E9n%(}&^&N5Cz5=`jhkzzGP?imB(kg)+ z5)lBNO*hYNVn~c4A!)g{AeIvCuw#Z71PR#|nPQFiF=$-?QlBVkXx3^oI|AFPGoZ3g zdiVlYmSZDU!4}GA7ne{Ku)3iD3czU(RriZzrsj^PkguO{T4R8zps5^Uo?M+ zax&ye;BFpSlDq2c9t#aO_~D##F9no)6?gR&#fHOT)NTh6AlN?&T`v)YgmsrVVA?9u z?MOy03=!7pirH`kfGLQ5D+NyV-2V56ngaN5EZiQsA1=y+5UFNJeIbW-hSmTN-7sE4 z%>e@fF4`U5Ph`h82cpX+HP8c_DdizkD`>!n8BD;$>@Q+-YdX6kzm1V7&nl4Hw!w~tFWN; z|U(! z%&+W;`LW)Ss`QiS{3fVwl$sG9jpo>HtHv^1egHN;Zc7OB7Vw!SLM9l6jqE~F5-``m zn}A#0Bat6H?Epu}3W4yPBQGG1Zt%MLT6viP4XGYR>-N`v2y#$sfQCB~=nxl7c!F%~ z2$=(yt~MWq%ESypfdLXeqO7Qz7(y=4-5(Bv761UFh#$?s}15#p~Dg>XEMcnP1(L!U?+* zPW&xrIbT(_oo&u7Rs^P9(~>R&j3OsfmD}Jk5v7h{(L#`bYBcm%k!hi|2RPlOV-B~p z)GkmV?AgHnVMo4bpZI{zrlQOAO)9vc>shz|4e4qZl57KteM@{LrUvPT+Z zwTSR20;&gl2a>$eRiB=P_iO-v&P#c@HagUFiHi|`5@m_+qB!yqHa8>&tuAxOB5Sw* z^XgZrHX4D8Z=9=_nwCc68h|4OD3EHTkTE*G&wb4)&gBJ2)bg}7-~&Kl?2v(Y`)bP^ zB3PKj5y>D>{f<-6@i3CV$8d*VY6ji@ud7dwX^-s4Y=eVLmV&i7in+7BB)H{ITaJi!>hzh>_-#C!2ilb2pSN1ORg5wZoXrCSFBG& zx~k0U7#zbok}&W|w*)Tv+ZaK{W}Xrm~-+0fjjnEm9zZ~Fr{DC>la_g z+qW-YfB7hg@R?uYBP|WV&-Q&Z#<#!m3C`nlmIHg~R8hWkBkKiCtCI}~Wb_&SQ(M~KwU`h>!+5AN~oGS^EF7_hwC+9mkobwOW8EN~V^&=ekG6%P}h| zJUqhPgLBhAVy;u>9_|6AR6x~a6+}_p7qj;4yUqHS<_FBa@B7xXulAk-K-QN@S+}Xc zESSv=i7J3Z*7?qNPK3w%K2Ku=geL|!3gYm%U2=VA?wFe=-E&{YC!cgoH%~hL5X{o& zCT4#(0p3rYfleGVq#Yi|`w8q@+fd$nQ@A4g7|_RW-o}?IhNi*gInH#Ht{ieX3>qO` zXSBW%9Yc@K*5GU%Eic7_9p9KZMZK}j?3kIyZN=y7G4^x6$!;MM&-~;3;?MUlym|HI z!>-T$^^5%~Yd`TBPe_m!LO*~q^-Tm!z(9%@Lq%QNe@k5sVL@m48r+9tIW}ja9eLpAVFSOA`$Ata-hYc=_CVjtTLkqFU<&>4(b<@N zHkcQkBwfbF$AhCH=$E=t)K(4{)lO4b<`O@;+aSIonLy9CJ~L#AH*9PeM4_!o<_PTy zAJ9t?dp%41_MVxC2qr{Q`0AfLmYHQE}C^}d9W}gS=DSH<3BM6ko>I1n$NEqON z#e%!-bGo{yuo3cGEs(G6UOO6z<=e3T5so2GvQ9tn^7`gZxPAJ@y*_3+}em#@Mf zvqzr$5={|g2w0Y(*$#*D;bKACg?ikK5s}=p+LCpU@7y1En zp%i-XV8!8mP2NpT;4U1epmyz>5er<6g3uAkq0u~{{KiY&>@*BbJWLyF2Yb^&lGrst zF=^VyUS-OTe!nlVP0D**G)Eku-TiAH!>R7gE%n?#&dn|LTW{*^>xWlwU*Saa)p_FP zYNudOOLn{FLkcl3W`Q!W+Cu^bPNYlpY9$Lv4O-Z|A&pWJxlk&#a~#KwJZ+BEz);PZ zCEje0)&WeHg|+~WH_mYO9Nfm3H);C*)y?(X$KMZcD;%-ul}w-#p2uw<}z$ zr>ai$S<$G&BWZ!&G22+}ib(BXz?19P0Z2i(aaa*fv6_HMdIna=NFHHLR?TGu1dM$y zCgz!&FF$6fshp)rXEdTmPm6b%w}I{hx;$WHizAZon5}^eJ$E2--O&ugm>W3l zL0Dg%6N2ctTeaLl7HI&)3$DE$)V&72%2yqtOYvK`XCaLs-sl8`70#{M zFa?8xdXgZjIzS3fU(?C5A5j@$Afa@!GgPm+95fgEENr1TOtvn@A7~zAOj%5^UlcUs zN2sEhN{#@J+(v=__II4-7e9Xc`O9|=$^PQ)L)8mUfBl4f^trF*qq|UU;HL5+;HDn| zPy6oQ_!c4xs-;$`IwUMk0qV}Dca9JrI4(X&pl5fZM&$=hUMbx(4PBaZ&{%$bgi3 z)kA&u@aoGi^2Pq~{mVzz%;&y*Pl^laMqKzIZhl1fJ2XtFP;N*-5Oi;d63<;Hbu7%9 zq&#ZCu|^o-4x@yWtUDx4J&P1}YQ$z4+o%q?)XF4T8!ZqGCF@4!2pA&N3|K+moOl1` zJ3BiUUcZPK94urS!t=%=+f{%Hv+&s$>Lf>3XH>R_N3B7JdP7io<>=DN&3N;^%F33O z;EE%>+&y5DTC7Z~Z^J6DhpdB7AW(IASpK-P<8UVryQK@1--h6GE(n1JO1W>7AKO8s+m{@^hzF)_tVGo0}P3%Pb zZou!fy4z?Xb;98lUf9F+xYY*y`XBiI!#A(X|L_sr_?fTU6Vo1kFCz5r*B>Avv|Lhq z>odHy1@o`S1~FBJ%ACtjKg0TrV?J0}$t?h40=Ee*3Sy z{=?7y;LYz{D;R(H?9JcVUj5*c`11bc+u#4e_g=lmwf2{P*AIUE%P(HP{PMHUDu4g4 z{`nvM%8!2KZ*mE#GOTX}$v9d4Oyc3%c=xfG2v3bzEJ)H#SeI;Hz1q5Hl8O9v-`2UR zp>U$I-N^9@k*f`Uc6#0gzp+p ztAX`LHh?bOG4+g@3*uBe5S9*+!-HX9N-C;K13@T()B_S&|Rr{j3-IWjW@jV?QTQo%n;_yHjrZ+tkGr8Q}X{xWe zHzsi-lQ#mb;y}2W4U*=$bgbJ$`@Rr~oKiEbbIt)l>zdMXvzAe;qd$b>Qq#nh+f;Nf5)v@!dXm<4o^mQ6lqqldzymMEb-d7#W>N6!oP4~$g2 zZ48G5(Wo$>`{x4E-+FFk#@mwGCUB|~TD(WHodz{9@U2*zH5ym-1$kdq7&~2?_dX}L zE-u^K97#qjtx)vjKHA8NF4j>To9yYlhr2}ET4@|4Q2gb9(p@5_zM8E zZ-4o+9$uXLmyhnc=e~MR9?Q*}W4ZYe-gVN?4ob$-0CYF7j}L7J=yAs{pI~by~z8A+HYSyUTQq|^?TyJdw+A@KTfsSL?hp| zq!SdREpaBpi=)EYHp7uhww`A}BeI9m6$h}5Ok)$z*p&eemiN)l1m_S7G@}FtCapJh zwO;6Mw7dkx2bI=+#$0lH6qr$Be(BtLDx-N!dGKip;(e79O6d4c*-pG%89x3!{`j>yt+I7o-WrWy&#_pyUQUX&pAmUve*l*~6uKtTgk z)j6SqkgeRgpK(DSHiKYvmXVR33{Fn?J5AwD0otn@n+TD zP_uS1WKaAT#d4o}%y{?jU)dXObDJCCtPTEzb$oK;S(6Mo%gEL+?3fCn29~h{!EEr7 zjHC_VNgJ>d&^8-}_tG189DL36#o-0&<|IY_zi*t@x6NBuF}2%;{d4~~x3gC;)IayP z`^Qf)fe3Bl^nnY#TrZX)z7iAu=QCCfP?)BpI^s<+F7lOtWRUot9)0dalBcI+U;C=S zV{76ILrxiTnh}k4>J+PEe?S}aMqydw{Tpk26OefBdB=AJi~sl&Ep@?`z8!Q&Sk400 z7{Z!dhPgOJokDbz#fwQj6ofAFMazRJ!Ra&JJDSWRhO|L0*zC3=)#-@N_3 zdh_}3#r+pQ{QMj8`6{ADK9r_(^w_Vt3Va&}>C>SNRd_u2AQX4ZW}?-CBSR-67E*v0 zDo)VHh{_4Sd-z2i-8!#*_|mm(RxyvW>_pSWvG4->A9HTCh zjN1kIuYCR}8S~s1?7ONIF=*dI+r+aPj@`X^ppY_2aHa-Z#tzKhbNYZQR2c|$LqZyk zZtSWM&o8Dax?&DV(Lw@}2KAA$#x^jUTx&yjW{z)^62n`0J8`(MT$+`(ih0xNQyc*~ zE>iIr0mJvv<9oM-oXE1Ua)MBXRtJU`P&Z(wvgX-2yEJ8>romP3Sj7P?a8RPFl}xP{ zVo(F?;YYv%KlSh;zC7n~4Cc8n-IK$Helu+N2uG{T$0pe23-s6mt!vDaqk<-H z=Cs{?cJ8V+x}1Y#jdUb0j6^UWY#U(lw)a_7diL={IV9U$N}v^ajFWpq$Cet{cJFq3 z%SjBaDWfmnr+Kt73?|Y&dKQG?ppdmb2Voa**76~+6Rq8my9A{H5pF)_dZHv4@@9<5 z4LP5*ORfqgnxDlCn;&|X(;Sj?y|p@guj<9Qe|Ymq0QcON?Fl}{`?D?jIA>cOhP$<7 zNd@f40VX|i$QN&9I$cW0t~_I63O$QFllyG_tURdgPSEua9z3(L!l@hZI4(XCwNF#( zAU8RT@>?-HY>>ncyhCoo7C=&10}#?`AQLTo#zN9&GfGk5I9hRbUMA6qJCW{bfKT9M zx#k&O)1aF$K3F9mJqiBYYz5HU%G3^A!AVS_Bv!T<(npUbkGu$ficI>suiTUGRJnPl zeu%h*6F<910kVA?$=YjG(PSoy1bud!i9=?Ge9>%S@m|}pDGx+<`#6O@ zM0M+vVsFRp$qjlP^lv6L(cxWPdq@o5rDJs1Q=JTEXxLNdcDB3!=+cS^N`SjdpSEhG z9g&_)CmK$wA?Vo!WLXmc+Zw=jy-!E+Y{e2Db!?Cw>btKp5qn4Aq#9Z7 zR*9KHFCGKhPpDAu{^O6LjP;*<3}dOg|MZiO0FZb0pItls0VUhsN9N4P$Vy-g+GYgY z&qQw`_Rur22SwgsR>O$M_UJojT{@1c(`(5_@p&yt+C2kt3JpMDix-~J+zhA8b1?1- zi#FH3`_Di5(Qkh6BQ}(*?RtHJX)b;MUzl(a!YaU}tvAHxacas_S7P((aGn~z3%pDR zz^~zs(OZtW;T+mvIQvBTKe5yURb&N<9HGGFQaCNmcDw3ry(RoVl`G9h1MVt(N@1Iu z3d7uXtAj3G!pRCiNw;>y;v<%H#I zdpzp+o;NRkk-qV{uiTUStah`{`XC+O=gw{Y7vI7%B=Wk^rgl668i0a$4Gs!Ug&O$G z%t-~J4MRa&i^Om&Q4qT#IVfm?Y)%@a!{#|{Lv;=DPd^}IjHR$&;DIYary%h}FnG;# zTQ|tr5mPuK8V9N>&(gkeOKKlrQA869Ib&mnxR%b~&PH%Ap=A{iGY%v8+qlqES@;kp z)fnw4R<%VF!mKf2Gjh?SnxfzotlMSCU)rx;zO4QB#UI%(6wW{Q6?_tm*l)myAK{$A zVarr#`ZiwYWryVisC=kZwSye_>d?0w?$m6p)keiOM75)I6GGnEN=QZNV7j z*#YbIfZVIN`#d(qipxJmGhL?nD#1GZi9^0n#S`wb5#SLABV2OCd<)R0!L!^O%aT7S{c}k*SgrpKuOUCcDBa_@ypRBJhUkVO3Fqq zZ3FLHHP(*N8Yim9P(lu~yZ`DUhzLT&KoxfaOoI)ENx>m2cs^KjCk9;_)AKlV)r7h* zY_P0hg}mk93y}{nYM?0sNfc9G786R9-AS=gB}EVM@W$qj@Oe<&{ny{Z_iif@MzU;# z$HE%h6D=$UNoZ&6gUNkSoaUofYXs~pYr*V&d0`xxnzJ2r|21cJgMMYrs-dvD&_Sbf z;jrCUHUJLR5>L{;+aoLr+$ptyz6JIe_!$LGZ+gx?LUw^!d<5IIwsHs^vyD5s?LHYA zN*M=vu`VQlO9S;@F$?cp46$f>YDI4tWP+`Q7aTVIW9T>hj34|KZrPXq@FMGv{_y_o zHQ0EGOTB4ho+vUAtMdHQ{W8i=HZ=tcI2_cZNU(tATsSaEv(@Qh(N{ zEwW&2ZW@qnK2C!G>fkAxkTtiyu<|<-(Nw0aTYTffNQKWU|-5@$5 zG3cN$5B7p`ueVJbnTMZOLSMJ(yBtilm<_MQ)g`J&3dk;{n&(~jNcU-5J)uNWgbUT? zWr9qZEFD57$ElxUWNk?QErZV;7p<)Dpqbut3to*B-mhZy9IIFx-~Bfil*XfV2mwyt zct8tqq{fRkX`CF~TMXw@eZ+#?S35>=yQAzxM+HZbbAWB*TjtqYTY78l6!JV#2d9$P zx10_YE3uAZ;Jccx(7XTknwn1Nl`+E@hp>@_#M)Mj-gm%o4`JZB!r_?0UQ%M#$$oZf zpTN+DYY|nOc?`~X1CMZ>Ragwpf@A9HoK&k%zd`uOZVShpU4HfwYhTk2FW&s zZ|n{ZBI-_7C5dhqB2eLC7(1Yhl_>lz?pS7Es3v-LbwwnUqf~Knu%ri7h&E7A6-=M( zUD|@O2f6c2cmMr|oL9d0wfLR5|Kj(4_Uj*h6HwYq*ugNGYogSPbTJr3^Dtv1yf?g3 z0ypZJ@YdOy*L%wWgVRH4Pz9X1n!6G@!R*#;U{`Fj^;}4S&`>xc!+P(Ld(Y`^P~P0W zC2PTMHW!3%ZTVic&QxoShB{f_%e~`M1q`4SY1;zd9vK9x$$93gf`=Rju#%;NYSSb$ zp97my3^@sV*T%**j`SqZ9M(>~t+0RJzj$;1;-NmPKYsK|eC7-HWN(0OdIKNfF~0Li zX{|5~Ry6;sgOJ;*x?P6?Er{ph(f4%pCD2S<8_P?qVXH?N56a{1oWZrwyJU-RYK7X|#AtRDyePA9BY{@jcMqT_E>l5^)KL?M zlnh9E3OfC5W^sV(J+d7<7_ioLnl@yrv|^1|XkstE!Z}vQddGI?#@8LW2^^69RcH z9OS}%X5gTqkBF5A4ah^CU`2`0XuHh?tRcwhC?wVG9$@GpC{);N9~`)1`zF?;kHCg} z!g{+A)}Nh|O|kXe*lF zbt`%MMx4jAXd-)m7=5Z9^deJ{bIUtAWgu!SX@oY5s9zMFeC)VWtn z9)t|*XrQ8F0s|kVW}Dp|!xbXBj*&DMhqRHX(bk4j-02uNtEF8l;;~ThU<}RS!-t=) zW}&%cmX4Gp5XvwSJ-v0*(MKp+!f~L*tm-Tw7_vl@JQ2MspCYW;lUk!y(3lR$SwnYN z8!I@rpN8tMyc4EYav=63o6C#U1SdH z4#}tr*vcYw`z}>%EavGK2W=};*UQyAcgI%PqA*RARgQ_#A$(@5cr~0>CA_{1>6!=> zm%``no)wO;hL8_usY(Y81VrdT804-hU-*B48S;Jd>;0P-_g}oN2j6e+|LD%GvsL<_b!jJ7iGEuF(SS_8U!$-l{C?LAo zhF?2I^?5Jcle}5G z;m!V;OYT@naMP`|1J$73wHlr6TStx=S;NqcTlnLZpG|&tUnMQP+77I282^;>8H1$| z#+!=}c|;hF*W!Rs5UvYWnifMl5Nxqo)|$k3|HBoC#D!}IkTnUSH6T;pZ3jEa<^drN zgMcrj=w4xgtZ0BA(ZO=*RI(E1Z7n@VZTvY>oMBl%dnp2YbxuFUCIeH{UBT_BjXZvf zseR@j=eC>r`hLIqMcq{G&TuIbgE!lTPUOT|cBjb{=L~FP6%JFMC}Rvv5hG_mCj(LT ztNS<;m}El4(V@c?r@=a>K%;F?RVkk?;Sn%U&yEWH8hgIqO$7(=TR9XSg#)taosfB5 z6IS|~+%j|6yaJn~;RyXV&2?IX@w@X;Sntu~@DtnFA?eB`&@fIfxL#?C@E9@>@&L6; z8Ngwgkkg+U3v9DnsUt*=fkTcpS~uM8t=bt;Fpd{n%HDhy5F01?1R|}=ghwZ^9CK&e zgE+Z`GI17yssM2tx-kVb)}EF$vjbe-m#oorp24YIZ#59V;SUe~Q@lrCJ>qpd_m%tQ zqzJ!-xm%x21FKajEzs%apvyZ;i{hjs&oL9HP_1h=463K}>9cR!A^=MmMAIO>7R{Io zB$uPJ+orezHH~=KX>(pDU<(|lI1y0M-`;T@T8FF&oX_&Ht2-9bYcHN)s(D2_IE87@ z$L?0q+MrW&ssgT;$m5qwcvOz+j~8dx;+= zGkijRQjjN7?K|c<*?@MU&4hEY&D!BmhqwVcI;7HMU=KJfp`m!RM+gAD{d9x422Zn1 zrG+K+hHrLFMDZyUTfp!zh%B}wTh`VQXT~XG6iZG@*HhaC%v6CPzyv3y zoG`pK-H2H~N<;nHAG~?-Q~&&tIs3V<+M`o;{vo}0yM6lAZ~WQUX*_C-r2=5Iz)8CH z!Iyd=#!HelAe>X^gW9PH`Iy25Eax(hFwRP1?oe70I(4<<85R<>8)>2xiIcqm)&w7W zx2-f*V^2NW@BYV6E)9cBC<#~YC0nt=6X$l|6$17f@kvx(V51?MN#H43L+u^?J)*>% z!=dLGaF%;fAeTW7gWFcc$^v|!fp`z0!=$w$E?s6(zx$s)XL+=h>VfqxM9vKD#O5ixhhCPZBbdw#iacG0<5sus!xumc88&rX zg}G#WqTPYdY6s;mtPpZHY;$f0lqK_u(c)p*-1ZX5H5+0B9rrqXl4RAOmNA+!3}J%N zGceyX$41NbRPXrgi58kL(E(;fq)}R$d9Mf(Z8Lnr)80d=^&?wu-vAe0<4<1RKPr1SS^vplb?Q8g_{_^Gho3~FHq=HzH1KC*$pr3?|9{3l|J#1^Adj_bhBmKZ= z)fU0P8Oxk0N1h1_EMg!viE$>ow=HWiF=|YmtwxEab~V04_i}hW>m(P#dYrb-Cg!tw&FnCm^#F-QkdNm8 zK7077P0R2kr@2s-4n$=3(gyYHd;|@Fe-CBUIhlK#Iw}+-kRAy2&}mcW>{flMj+N&i zUD};F&jJ8J&)l?4akc|RVCQzI^Vrz$trf?xHg6cJU1gv`M*x$66@&Nf{qg7D`lDd- zb6>G1n#JR$Sv)>Svv?b-t5}p#_dyXC#(FzAdI$PO?{*k0sa_zdj&5sup|}eX=ZMMV zg&s1T4O!g*9x(DI)#G$b;Figv7@oQC#mBZ?RfhWzz55$iI?ZOl_K4zs%Q(hR)l(9t z^~#vS=?FZ@!D1i;ra2+-qAqAqVe#E9H)eVx2q1vD7a-Vj`Z>hYwARp40~{n4imwU-LUY~i@N1tE_T|;Sm%UmJ%C?ON9Wg(4MhgrSz_;T zbY$~0Yyf+)PWNtB?z5rocpJ3Ikg9nG(41RRAX2ZaG+Wp=UMV~Smg(wUJa2q zUk_@&`qeGN>6x$H6N8$0bC^3n#;M@!-8e%KR#!u4)jFi~5?6YNGBK2+!`VdvM)1Zt zSXd_ZyVjZ68V~}2$&Dh_H8th(PRh;`;@$U{8g12Vc4n)+4~X;tI^3=Ru#lc@>qgjF zMq3N_-)wW@PLdOhneQ44t7wLupmKZR)WE>ysD9));rkBkeVJ#Lo40u&wbxGLh{q0~ zER*n0kF|HpK;rav&Hp<;dANUD7a9MBzkT)j{eDzbdgkl*%SnOa?E@aD0F_NsNb&N| zgCpgdMFX$Ti8?+qLLH&lI?{U39%O?Po~|(<3EMdbTKzuO0A_Mh_TA8gUJw}cemcXU zmYxu<4$Yi;%i)AY{N;=KzX(*6#{1hDtcPku!sPdGKPVP;v&K=b67ov^@*DFm;&qB=N?yCkuO?#EaIiF4z*2NacZ zd$jhuK;*o9@%o|OK>hLM!$W=X_Qe-hT;-=&(tP3+a-3Lr6NKTQIt42sBO9n0$s|Sk z$O-%W42m$ExX)3l&DY)kd97?QSssLH$w56NWN~yeN83ElASG$-;>X84ki_!B_)vO3 zG(ti30e(_8ZE0@Ov?Juig8>p4$4^77b2?6J^VCYPz9aBSk@?;K^^PB;&Co+|D`Z-- zQ`0_YO(8?)54#1NUBQS+II%#q8IdR}%)qAfrP3=_hMXkY*bdHUEe?ufQ&#A(qdlvz zkQXQ-*tesrv)A4K{mFGIjbc6#ytyd>sozW_xp1}{AQ1NnX)f%Vc#-HhtUyCe)pTjg zFnXbpsD$ToK*W;DGz``Klb1?fgbDc@Al~-C*U}(N@>zHP&(%$;-QXI5VkaR}x{ByL zVS~UY%8K*6JroBN_(O@WHUQ~w8>cwAgHQ}O$GJB=<;OJVemD*yv#29&MM9|I`7iYj z#oOn#$qu>uf8Xtd$B{M%xXy9NGT|s?CYo({&}ogJnb$FwW3f{Tq*w6i_;1j05PDd% zF$$G<8qFk0cgHzCt=3#m{^Hp5T;cj<-&!;%Hp(0=m%et+11qmF$R7cfd zsvli;mc-<)4Jmg_!E9i+wrDEsfd>iWsfwb4%8*(Ufn%3p*~FRyiJ>&Z1TwsB~ z2w_A;_=bIf-|y!by`w#@7#lV*>e6kU=mHD}OX4a{6xa@(>i~I!i@oQS65NoEqnc-O z_xFE##UVN)7fY9L38~fEYeWH()H`5JV?{CsE1>AIRC8{-olUb>P28CazQ(>!$sAeL z9AE3Pt^;b5sY1zTTntD+zPNkC&k;y}-2DUiDf+}+JJ#hCXvMnbL_owD5Il08?1DsZao6Qe)ZR*%kuSroq14@BTsj z6a-CC=azz#`hAve4Ak(27Y;EdIcU9%s}YFxDqWaqs=>XlCg7yX;$>$a88ydfiAFXf zEP5Q6;!{9m>p)gWq|YW^JBq++z5DCe-FZ;r^w2#}HZ{#|1sg&vHyREepG>U`U^RHP zVoK?;@P!+|SLo4LF0D}*Mon`q7nMHPH^_6nL2-jsF)H4!1I(;R9pPo(cmEK6im-#R z+`*Q3PS7gnKwB9zH0fgt79?>RMkhcQZfnwJJIp-^Rtx<7$siN~KvyHWA&o6$uDN^R zRnq-5oN{TjyllTz+DOjgbN3Hl-;q{LFxLqzkO6A)J|QbT4AHp5=1M@AtpF+@;W^)4 z3{z{4Elg0IiF7k+b|~OzH`}88t6(i5!5>m`SF}miAU`@THqjb;_RJ~8fs|AVBO_Yf}vBMLTC1_ z2{sBVzITBYmoMRS#w<<@BZO}=de8mid_8UXCO?|H5w)1mO?hrCT25tyGxwNvkU^?2IZ93WklPdtVl z^uJD;6{GcULVADkomSuy3>g0E#k+Ga0~f*N^sxal%z=MFj^b`mdCm!I{lZoa$F9fm zFan;i_JW*%2bMAm1t`D`PW8j!Zm4ezl*6Hd$)!e!%C?3RpS7ruXbP6)?YY-;|2W@# zwr_v>y1pKy{l@h{|Nig)f{(bx+=;iCGXt@vF$heF*2hd}EWNqaz_~?IR?YC*g#hW< zE4$+8#lcL&m$#erO>z+)nFU4l6jv`kb8Tmx)PUt~6q*5g={F}}f9~&iw@3V&-wyuZ zFaDM5&-r^l_Xm9SbK>B?`saT1EAJN?q&1Vp6Hn2SzUJDT1t*?u%T|W#-lSQK4j#(c z=)ey~P_Uy-&|;CEk+@Pqqb7sH& zNdoDGi#DdSIm?ho==@*5fAivtFF%jR-2CUhZcm(ryVC-#g>5(z}XV5LS*P-&@STAhPqE?AO{&fuO{`yslOCk1;7p7)0BZ+p2mnd3V{PR% zgJ~!l?HqIIY?20=6NPm>!};zXy|xrlkf;PJPVT5Cv{0jKKOF+YE9FqD1b zhPYPeF&6jJglr=-i>5DJ*XLY)2@RtYzIWdSSC~(1(w0u_4{_>?t!KOY$M91C@zt*E z-I;5i36a$DwE<4A;kM+8u=QDs}2eMIx*>J=aLW z@(Pj;$z{3>@629nwmrPx{o|kh=+h5Ao1DC<%b2)Iv9rgDnA1BSIn^6gr0Z#Ox78DE z>nRJc6~ZdFb(evb5O(H$zy&~uEp~1Ii~1f+IH2!|mjCiJpmmq#z;4%rZ;$u}vhh%F zLc-z}OJy5XI(!m3b`8@Ei;9erEa41eig?8+BUmYAOV;(b^7sfJcrgWnu);=++`2bKp}^9x{w zP=c%M=sFff$r?K5WUsSlYRrTZT%L4@T({9A1i^L`I0@l)#QicJ@56qUw<37+C|I? z&ayUkaBGW^o3~wbaGqHJnP93(4k)UaE-W5$>#=h#*fvm19&s=VqgLujzL1wS7)>t{ zPM;f7y&afMtmp{zm)IxqqA|w@-g+iR~JZOinWZq(EE0m=aIHZ*Cl(ld)2{ z0$V75+0}|riqKE_1HL={n4Zy76 z@$;LfkD&ke9j+s`VR)e$%FSp8FZlaE`qlR>G?>qU$h$ZfQ}$^p-6M&xDIJ?(%xZKoLAdRpLN#l5(Z+kFpn!!| z&F0#O!fWL&X%lR=9<;ddcvYV5pmZ1=Bf}_I0NS$Kd+4+>I}T7Wr3^yfx*?aQHntOE zZ-M{wa&SsZ>?GJGpuQg?hZ9%(p7?f&5l_cvyW!gehE8C7(Gkz+cI+rP} zudCNT`2HU}+~;TYlY05}%Pl1euxsUKmP%w>Z%jbnv1H_CNV ziVqoj6cXVg{3lLf`Vqm*6N2JMV7i3Zr45iJ`+(ZXL^f!Kf=4ViQ*^MY)mGHoJaD2= z6QYIz#<3>1>zAY07%O#gbP}zkcEhK7M10ON?cE9|WK&Shn9&n?*c=+;*xA&hvLY+MK z6?{}IYq!O+_CbneAO7AuRY>s0ECg>96IIc(hF4!W00;98=tfN0z!TT8Ip}JN=`sXo zR1XQLZ`eqI?-wo4N#r4+XKBzmY!XULhX9=IVge)`5x6}PA8a3^ZRk^<5Px2TrE8z8p)J;q zK!P5=qFdX`_W^agpAvFusp-%bt1~_60cl<4cXy zW!D~X0$O2H>1@GmGQ&?Ny)L&1o(2F!_Ysu21iOyS5}3I3>s+pv?121qrHI#e|tIn%mnajA_wJm9i+%xW2D zywCv2IYM1^E>NPd{*0oe5woEqRY(!FLkl9IFl(9Q$S=ahDDWpY6q&trBSZ#mru^G zZclF=Z6t&5H9ehl1VZa5H}?gq%C6+-$p}p~c>Y#vj9_=Sq~Y4Pha8!;q4L z?+yW*(-!*vV%%)scEUe-S$|ZI2sF=q&3-vcn{R*F>u zutANEOrn97uK_|gzJ`d zbVpbT5oA)K&fNfd%Yk}=;Dg-faR3Qrw1l@s@Fx$QovCZ5$&n zG*&Q!^u3Trthg3`V^^r@wBZQjy2U<$kcQ=1aSH7;AVJpzbDNG2>)KIjq`LcOt`OhE z`R^pb>d9dk5#K!prB2bcNA*RpQzPN4b0T;H%<66}lw?Jd5hBQDjM%wgG89CEj{w?- zllil^^}dVHv$2KCJ+W}0HrBlRXFt8p-FnlAmIxR&tu`Yk6>fA@>Jo7rp ziH*^eXUkzV4&}i~H66vt{SgehHnw>P4-ofj;NW|mp(+l-BTF{~1{q^tv==&dz)$;z={nP#O{%4>TQuL?soN;ZCtIaUp1h#Hu zx?;uWV_`Zul2#kjFc~lS&6H)#S*IQBH1PPTIJ_#YAxEa?8ZtA46@5)XWWzfaE`*bn z0=e;aC5jZYAvupg!Mu=)QF{t`3Klr2S1+PdmG%R50omvX+|Sk&4THJ*+LsDu?bX^a z1qKIiGls5nhSv2FzL=}F zm}20wfi%u;F7VI{cw^w;nKrHUC6hLeGffnO>H-pU&j#P0>q!$B+zn$vx1%VeCvBHi z=DNUl(-;HgTO=8mz(BYVSiL2e_r~m}qk}LQ)rbmTx^eD5d^K2ElVWOjBiOQR0t!uI z6v`DaqH%!!cv`1O$5B6;84}ru52xuMWWW(vs?j&Gffg0KX$^h^273MCy3HOd|j1e7cp+i%xTVD%e71bUMd{rPFNMwYe65dXFY70q$#bj+=NT07W z#C)jIa>YcsG5k5b=*UvSG2I?i7c=jyuU z*ob<>KIsr^VR6_cvslkrwYXi}f_2n@h|qyq)$oqMgA8mNPz4!_C&q$T01I<~F?_>1 zTPM-YLn0>|CFWsh{A9Dk6h_rz<#2V%M_R_0_g_BJz&-ahdvwR!&0gO=&|ZHoP6d>U z$7BPCWvg_a344H@?a>Mr1gJYsoU?+c1S}KY8(GPrAVPax$13HWC>ru-K4@a;w$3

Q2C+;eq4|mlD&s5%($FJ>TcCQL}?S}6~lE?c>^kFequ?rnUc6N*0VDCvF zAe;`6H`-7-PH&jpi~ul7zz3nz8AtSv-6RlClDReGIwhchP+E0L+3ir_xqqD7wKBZR zzvv@H#?6uzUA0On!jnm`8Kg4*ZQ8zU<6`eye!h zrrA0ToW8Ff>{1=}>*x#S%vgmMSnCD%u^cFDu3l+dKsqtHvxti&@hsr9jHas6Zpi9u zx9Gg&qQ$0Pt;Mlrfoj84rvMr#xlKQPZ~yq!AKvF<(%ExgwkM{Xax>+W57YaPjn4T1 zFJWo7DL9a_g}F?c1_rZdU#J;}CuuS>G$U?>5C|o2Upz;ptTDWaw1Z~nTr;zxXj&b( zQ4Ikf)X1@GK2+X4sQKN$@ae}OF8CKeeYe$j?Zc3>+bwMaZ9KCwCn_Jk;KprjTGv`j zS1YHvd-l+GP3%pe8%z!ql0x9<9FRG60J-r%-xK<~y>QmaAokY4hQgPR!F=~GU89~v zPT|xB>u-bm6Z5iaGIVEcqp(cTONnP6aCzF~0T{3qND9u9F5oBUuOn19~Ng!m38= z+&OWC1##m+ImPXy&#I0NCikLbp{(o+@VN%EdDspgw3*RjInc|n$KAj3Zuqv_tcE9O z?S|(-PM~r^rWn=g>Ufvx0Y7N>X7lhOkZH#$fkYM!U&Az)e2-Dm1`{LdFH!+9?4Z{B z`2W~@v!2VYBTWxoC9@u5l#p%}zU&N?%j3{cRo=qs{ zo}4}%4f4~RyC{t=b=Bq1va>=l5JoMY|9iNK1ZZbZg>JWPoG5AFe|yiqqaY@`oVgoQ z)?<`+554r}YNiqqlGVReJf+2m7nfU%dT?eV?tr8!T3%z+TQ&@Iw^rlhc^e)+TiAGc%-rA_7FXh%WR959SDpL;DvSs zV1^5bNZ?~&nRWfA7o5so+u?{XBFLMtyoELJ(2;C5Ebi_@KsC7U#p%fR5BlNlJF$y)?n zn(n+&`380L8{5}MKl#gi^NoJ|&*Jl{XK(V~{tCbD9h&gbckrI-Pv5SZeE9Vrym!xD z*Gh~O3ucF5XmLI^n0wPahm|ie;J`r9A`F+G3Sc~qa1QnnvS1U*#Yc>;E<|gViMR%I z=J@JX=?Q{Zby215+(UygopA03Ws}yL*iQhKv#S9iTC~t`*kdt}t*dju{MEaS0}~x1 z;W%T0q%vjhwFTyHa`nz&Yo)uPJ=V`*=BBw7EbuTOiqaZzY|Oe(e)H`8X}@7KeG@mn-40@Lw6 zk#+llkkjubG#`7{eyHkTat6gHFw2G`=mg2+}a@<&=;%H=Q`?6d1zjsP7xijf%kJzqLz@h9F)(~{j7Ni$&|uOw#gX-8tX)(tTmgx zuWSbu&XLiFt)W1dRu>R06A3Wj$B->sBD_s8<2-khLKHG&4Nn3tc1AQNL_1KpsUbC735WFz zBTP*6UagR~73v#Ily$oqd7bC8m-jRLkG^Y9NS419nf&10U;pl(1}u*#W6_ZddJy9j z*(yx=wHg=S2L!ghsrp{Ba9n92vu(wfGv+wSeGQT;NC!f)V0WH1y;gqooJ5 zSYfcWZ~JA}bemISEnu+c^Z)RB zSa8jnRodCK7GO}`ZAZFeV~!hr%DiJ{GFsWOy&y8%MKtCvn^*d(AnD|_q&DLpOLu*R2jAo0`T~5gfAz%D`{+CPdwc#LT?l>tAAJwc zznCmLry^07hfqdgjT(}tG)lztWzTfS^>tqgdD zCe;|hCs(}(%`+Qmw?t`)l?&i}airiD!Lnk#=5maOg^bHnM@WOEhc_>Y zjq1X=f|&w(Ikj0x#S);eyk=ORgd)Xk6Jal~7-XRn|NKAx9^Qf6)K`Onx;K2Tfu4>4 zz?a}I@79j(2vdU6xZYvgIdNJ8+*rX3TxIx11BU=kC#Y0Jz|)sbjv!Hx-w+7*g-pem zBjAnLL+>W^>>N_`eK{eDFzit&SF5wqS$0fiLR8dfvX8RE;DAj~7)pIt4O#<3_Ivak zpxpP61+MtnEurni2)(&4#B9!5%p{m3I7lA+)_35iU*_9?=jH2P+`R&izKKu10(|od zd>0|i0!%i8dioA5%}6rNtnT4w>p?Bu+w##)L;p{Ocq@>a?@Sf$RiQM;QUcT z8+b}}0pvnsV6+%e5~fhNF;if`AjuI2HsKKLGpA_Qj5Fsy=# z`U!ikp1yd~A+gDj9-|-LTNi*5;YgQm2a2i8UKIw6#{%P(eaw~Xc=$#_YV5i3*GLaG zZ9re47Nfl29jG1ac4-+?x9XNPMRxB}62~Y4cG9-U8&kxZ4F~kY+y!)cG}=`*;!h1I zkGZV3)(>Is)8T{By_0(@WYG>Xc7rjN2@2N%O}&ql&TakHhvko7y?*&BU%&nQevkR+ z+xXAS9`nb=}3tu!oHTw$lhRp!;@93T>98>mLgbNhRjoUYUszzm|oduA0!ZBR_k!0B%>~} z0N}nU7XIl)BYajb{O#L&n#H5<-4g{vzJV6Kmpyy!a%sM;4XA|RZ^u-F!Gx8(NF5)K z+LtF$N0*p~7p5Y@uJt+^^`?=mG)Z}tCk-}2uKSX`z@NBdFct+`(h-n{V(GLve*4TF zctklSY*OQNCX6!k@II;6YCd$#gqtNy9H$Clc=rf1S%&NDo|Kr6Z=+YbZLlM3wq&Zt zbCXCL@VgzjtTiFDq>VPsydqOSWBS)p!HntGobDRr3fLQmTqRO;?gE;e+}W;dCKv7Uz$Mg6?2XY zGrZFloE;@JPM>i{UmXy(8Z13~Z9g98%oy}bCIVwZIuGmbT=Ki_hyeK|TE$qpn^Caca(7O$i!BWM5tKH$?>>L8O)YrMwbSt++#=%44CT0F_@guuPRt8HvVOB|M47y?d?T_oM<4BKruN}hxt zGuO(*{$e+3g+~NX9jJC&dVz*)04OialylbUEOI(?Vz&C$jB&DxAb}t5;Hl5vN2#mJ_(lU0O8c9b(`LIA(@U3a(A9p2brZ_T)Waxw_yOLEky)baEXwG{S%H{ z1PRvNl-^JBt$%vw9)IvHd*V@>H#@iaKJMH+WN#1!0he*+)xr6!b}{{W0XP}G8T=)P zrjRdWx|X;B4W_`gL$5ZcZMV6=B-H^fJV&3};V~Qg+chR75)0wm!Q{JzUW5J_Z2}7q)2q&i493tX0**&U-#k4V98FuMp^`zTWU$b2 zjMD9`2>=-KkNBz)a7w3ccWxil>wI(XUU~36dt&3(Zo)L}ef*GiZZa?USF8~|HU?I_ zD?F`g)`|LbS~<>K!zAGU6Ns_FWb0-g*xf2TW&MVX-9fC_yU(5*^&n(sU~Mp$1Cn9Y#^TvDf3Z;wSjnMOq-6U(4k*$MQG(gm-RpL11pGE?g z)9vd*X4^o86nfkGnVN1htJ0okLd&bB^A$Fk(z6{cLd%wiuyL26~Ue6%q?8y9m%2 zeIAbDCxvF8Bdp^n-;Fq2@MP7LmRV(>-A99TRG!XwCUa?~xh?oY1D`?G7MyURvD`quqWRWwu?u)ZKC zO_XQ&?1w0KzeJL|TNg69nuiloxaf`7WYW$6v+r2i_n1|FDTgl2HC1B7J+eE^V(AS8^M%ryX1h17karZ0jL*#_xSY$k6@@!-5&=icPoSFc~beF?GD%ew1b zKKSN6`OwkLL-!sQf9G|~!=O^umX@1X#^joNRc|^Ch84_Pz$uaon~|K|yOQpiJe}V; zCKP*=hLfDenv#To;<{$pma=M#qX+b^9CP$SLcEOlw$q>(=ovt~EQsf+qnB(gqEP#4 zP*V}hJm4ZkoCzIgDN;<>vT-v|i3iPtU3s*L>f1=A21(}yh;=-?<~8?NWNvNa;lLBy z^=|a*r*Gc++ppf-x5^)V+nyjk&<*k7y*xUAS(X-1O>OLlk}hDJB_IPTAhNL><=6u= z4EV%V=n0Kg=u~#Fnb8zKT}yZlLBp@No{N|GfuyxfFCTje`cTY;&hiq7KgaDbDkSKK zj)5)-d)A2AcOvXJlZI%b-K;cwBKKtrd0+`(Vj@c+h)Xr*um+?!z)V;d6qF_FqI(Y)JLfA7-<&4yp zX955NStloUz$H$Bk6L)UDqL6HVIzpp#}HKUO+$8FW9(OLs;EFAU1%^F25`1xivG6j z>#=mOpd`A6p!SQvEFQISOhDlTssldK4f0}4;aHkIFf-BDJn6GrpO~^@bOCmty+v_3 zY#5cee(>b!JgFMOgV3VT1@TS4J*WOG-#p9Lub-%kJo>&pc~GUBgX(+uEv+D(E(MIG z)&kFbPMZZTI2YbIa9387;%R&MVu7mz+c3Aajl_2Xnvc!X zA~$q@`l@kuiL55F1~%Nw0SeW|=3*mgHpJ6v@x*@J({IlVfA(@CR`l%iFWvjY4x-B^KCGempwz;JNZNjbVt6%lC%CO|olvMnH^F*>Z+ zZO4&Ikubn;Y2E$wecxV16e*~&&sN=A*Hej7Yc6U;k(}*p^xy^IwmpE6m<@yu-Br6I zHR3br_*^LTWz9S^;7Hp?_NdeSTjndGxLO zp|&7k`#b>=!d^gDu60~VNqbHJHFqbLEsPlt3zc~Q4ehvv3l#jTF%yVToaQlwp!)2< zzwJ$#8O?g~WeFlOGUr&QiD>W0gxuCj)Nt}6*pr9H-h0{Z)Y~`~LIMex9TP^N73|a1 zsMn}O;CjLTQ%A%?6Ed*^>X_)r+2lxM!djyUG_|=8Hz9K`WS08rw7cGYYX4y0H6I>* z!+vipn|>njuQCr6BN;LK^t282L$B7BL)?;#v@~o=zWe}cT&|es2_4t2p_bbc8;Bz^ zd9oMr-utAJbkrgwc&|XozoU>jOilON&;OH)b-M?)&Dkw_Ha*m9kG(gzsYg}LB~Dnx zn-R4C3*PW@Xq^;I?nJYvGhHgK1Q9lI^f`#<%UZL8Hf)6z!Aho@T()6|-e{dY zfcEV)0IhP%IX29h_3ene!tnEbP|OFpVxNtHuMQvA;pKkyCv$EJ#qeO{u5LlK+y_h$ z+ghi-FBAp3mZ(kC*Z|y&l#8}Ip~+cS+a6Alj*uF3V+|IGxgq2_%Wt2P<9um$2zo=| zIe7zqaSo^$d35jXhLEVTpJESEPsR#Fv*o~;UbMB2aLpsF`t@3Ds6SiZu$V&T>jb>z zhQ6+23UVcytlj%9knY2)&C%{w)Cb?RyA`$He7gJl`RVTXz%_9F@upzQk1yX!mdf4g z^bNBCq;7>6=4igrBIwyHjCGBcXv7`}0YHp)0a-ezBlf*U9i0t=SUALX zSlqgC7UJfrpg(6}=SOJJPJFijnOH@0dy}=jA(bxb>Bth~GA6L$udkXno^7_?J!ZF~VP zAK(Zc(DM$gFFRmURf}~bt?KrPLocIF!!yPT>aJjKzSc}Y{P%)|X-WYi)uL3SN$JAM zAw7Cq;{DpD5qAZ5iE?dNkxm|g?y;XfPH4qyc6pO=W>p1(RaoaY@z0Mwc=d}<|MJZ@ z)xc|!^Vgr=RRbS=_wEWa^f7o#4U*DD7PtY%ge!+%8jw+&*_{ zHb&cPwxSEecVt+caSa~q)z87`DfaKF$vws(L%~dTtDGBl!onjb?m4}!=>|*z8Y2gs zC!!QX=T=6oAz(-OT;)>pyt!o;aya zLKBi_>0?TQld6Ea?1oXNz%b}&#dQEz!|Hz+#oY?medOJQ7kC&ve6F+D8)0?oC_L;0 z@An*dLBI`}G#KqzRbQ*^Nw=vL_8FEfE~V?f7?xTqBl(oHc`({i1p_9{(~ciH!VAt8 zttBp{v5Ub}&y7RrC0DK8>qe>NQOhIreBPaUS7KHUlc* zo&!TdwADK0hJ+CgM1qBGt*MX^f`32B>YI2#6yiGb$X z2Yak#x!#GNaV@2$I;Db>At-}kCYrQX3Qxlvs89^>gK=M1BDo$S>pcH2KK$gT-}yXA zLKTe>!QQ8H3r(xUsB2Wofmx)VeL}IoDhMG5nYb#&n;I%!Ng?8>z~Dt_z*G=H5w{B>?S=6NK=sKJ#?awe%DF)^ zUFf*N*dt_7AT%Nx+%Tj#C!+?Mkr`fbYC=2($Y3TDpjx_-@GsIlX&L~wF-40<>;pV7c|?;S4ZzNCi_4m>qP z)NbPwf4*P)$!Gb?S1=&Hyh9&6`tCi|&;FQi`q}t{??B;9+KH_&l0ZJ8|2mTs)2J9g z1p%=+0LBM7gT_ZPg=y@V-DDLwx2^Rt#ymNk0f<@f3a=IeQ(t)?b~-lZ0VepcC{LTt zI!W?2_weY;xy?Onf8k%AjAvi?+w;`sBBq?By*1aKt9LS>Pnz(V&{w#`*uLxvd!Yh= z=PGwL1{i1!YobPuZ#nYc7%=93VxQEuY-PcM2mxUA4)BXHa0t9~cFZn_{-(`Eo7l7t zOvPZ1q)qLYm1?fO3TH`Qi;1g^jrj(QuteE{v3V5EjE7I4)KMDM8sM>l!q-F^7#;;5 z-O6|@3>4IeLg`I?ZxPyaKL0O2{O)<@XTqp8Svo>eD!}R3>4)R=6+7C-OyJ-a9e|xK zd&@3a6TopJ26=~!4tg}JtBiToTr`!z(H)MiEwzDO9=E=xSHM%piz!Fkd3xXDZSZX& z=)rgHhf04|-lt=*EU>|qXsZpd9XEzpX^95rwiH$aYm9PO->@}0W~>?5*RGd_I)Jr= zI8mb#?_i_ouptPrHzgrt=WKP6# z?Q4GN^Ec0Yzj^uMtGD-9mj~azA8bSdWmcAkd2fXtMRgpKJ-N=9j>F${?4GKvIoY|A z(Fli*C&kSC$`{}mbOIKPEu%Wda<4K6Ft7vK)@qCc-CT+c!&nq>+1yE8*6HYpCZCyw z_;Vd48f$GG44zKTz*N)lYmdb6eOX&T;qi1DyG@vX+kyoJlGd05du#|Hz}-0It$<1} zM{ZDQ2km}1YxC5}zZG)!0iff*yzB5i_zwOv!yNws;<=wNovOA|cc`=@=fK+nE4yi`ilg0yuxo)GW<0R`JOL9>zf+r6 zU`tg8;pkY%(T_fP_&Ou)oHz|x<1ySt1}mt(*ls6ev}dj0d3WSka~*8dY<8l6`$7gY zM*xl~*_G#%IXf>j8P1r}Ja#)g0BWaz-=>hcA51$|F6KTLwB0&U81H7b_kmK8H;Ua0 z^KFW%^`QFgMungKBG2((Nb7fvmIvR(9~ZbE7r5Vjfn%FjRTu5PKEr~vA8_pL3XU5F zpZn?2W;=Qy4X^2kyZY)-^Lg{B2$P}MQVqEDrktp3@~QBgOf$01)X{m&naL>q@-pA2 z`Sbt!dsyIr>uMaf*CbA==__|Mx58?hN9de|6~snwN2jblak)-ledI z$FJ>+DEGs&);tig#w8%HwZA zLid%rorEQzMYGEF^aW?pxRDWzYYc?_qUwLZhu|Ez6F^ zcrg?gTPEo#!cRO6%FZ|_ZI-N!9ChR%J;#yfz)gwH6RgEqb9iCvacZDpGoU&Loi=n% zLAi>I}>h{{djF(^Bb+sOR3x8bQeq7yt z_tovu==&c@{NEpm|GWQcK-@ICR*lxXb#7O}{)EG#Ly?qO zxuW+izg_e3hp%7U2O%DO|9<>r{P@ZE@ssi6C*$|{$pGrOkBPl25O@uPlGBnkRc+>6 zEppB=uWt2XgY*op(- z&TKbuX8R648qF}0XWPIXaksTys1GJNAgxNF-@F&Fm|O4~<2ydH_oGA1T-XU`=Gf@4 zAZEj-tvy*`bm)6FbX}It(R7|QgEX2_CrUSFsz)1G$f)S1g!|0>rBAH!mvkhkC;&hg6pc&dYIDQWF?oSN?Q*xBe z;XB*FHw4p7vlDW{jenhw{(4&>AM^L2f~u~<(FY+|ET;*zxowbQ6soo8z2iSmnPXc{ zZN{$bI+G*D9)p@6l;ohB4;0I5$?cYqwm{Y7E(c-{Tt}x55N9{-+dKf zr87aJeVUS0!O8>c-qJ0TOWu+hT99=co1Hr0Gg7o{mMv_@-eP}=Tt zmu}TI_hTwqI~%^=aFSLIbH80h9(_4aJtBVu!SBl#`P7)jYM4$N8Y>tvh+3SUi65WO zA_QiYm$g3ZU~-LGVTYkH+pcs1wmW%-YGtbiGqHB;vub6tgOpPogNS%s6GcQpGqsJ; zz%TpOuHz28{>3XR!RK~1lqBoV*(NbgA9$&04S($0-CL@ zlA*9s?WC&^J59`hUp8e2MP?Hr89b^>x1~FK%N=&-<9h7nJo&4>f&uRJmrqd?PLg@I zHGtZvy^ayU92}s?B}kJpXSow&Dn#AtTv4 zh3YJ#>B?@ApgAI|4zK%RuBn~}eaR3c#rxsT`?YgIZr)XKYyEV-adPsZ@zl*_KD{UV(cEiLH-{kkQ%Y$JiIrJ zs>T2oOTtoG3Gh+xT)>N+iD|7qfoWgoOh}qB(VTnwTCVQkrepXdc;k_cb575-F*}eO z*nU}q?pF+%#!$>hoi&$AFG^v^Oe$AK;BlKe_n>}IWyui@&M1=B=a_U2 zS?d`X&&PA$tv0^w-AzVo@V1!j#tkzES!J5k{r2$j=*xNPm;Kq>*Z$?3dinY(`U=~r z9o(ZO&jIz>P%THjVe3emNE#!#+N&k)+>`cchxgdsj5f|J+F}S2&=YKqK=UGO&C?Q< zIP$r)aq&1_$lZfUUQp7i_xYQ?20UVL>Ks&cwk^@gIk(Pn_E>#qg|!3ye6j~7-0HOJ zI5U=AedD%jN0Vq2MpC4$u1Wc1XTmW3n&xW5RAj^gK<;wi^){()yH}6CoTq-*4?yXD zs;Wdb+F4tsa;@Oq8e}QEssutwU`4M;DDbGR$Yo?E0i)%5a5hGm9g~>41`-|><6S}t zU#&(Mj&VI&`|RB?c^O_?=d4yu=DhpD)5q=lO>qpOYV&OO$bEd(NEE0x=pB1u)(94@ z-uFD-U>RZNlY=l)Vi*x_JPtuS+6kBCvrFctt-KU7=+S($FKMH*M9hkTGDp$xz)rH!#6v7tV0OJMs{$7Wt3G!w9^;MDlEF(bQ8cg zQ+W`8N|nctR&iOEHK7#6e^+Wd?|nSNPZJzt8U$AC(@-Dn-~6T@;5YqOzJ5hpUXn6e zJ+l>!NJUGx+XA{^&{+$EsJ?Tw>KZ<}KtMPkg}aMjKl*ZRWnkwsfANc_ zo~H$!7--e#tF%GIO)zqN5w0~@@+e_J6YEE}sPpNy!0VSCh4Tpy9#$Al5j*4HzlP0B zN8llrksnmdY&jjlC@Y8&3pu5bZ?F5$?bqvm>0;APec9ZYKUnyZ!VcNWTOYm`NiZE+ zdMvu<7J&PjV5&(`_Z~A**&BgA3?fiC^Xg)u9ol`Yybk16ej)^PvE}s+Fm!hcc=YAm z{G5MuK7aQ4m-X_gV_iXdB;CW^MP0m*6z+$YIy*xaCv%J-WDmAqBSxSoPFl%!j-V59 zcAq8SC`z9dy#t8d*m+1PT(LOI;Zwgh8>)zxB924l_6L=(TM2p=Xs%K-A^AO+9YNL7 z%1K58ubtB?$)F#zKNt->}8GY8lSFus{QF9$C zH7uVy@He5GijBu!erDXoiXMGAw9Wz7!__$d{eAcSwY~wV|^X|42-1?n>3RS?nTujrYUHHu+C6g_^Z*^VI|N9TGtFVfG<=y3oF5ZrcSa9{d zKu99SHu*qT(xfDL4=q6fAOH>pw#Fx~g{ma3t2De3?KKri<78TA;$tLj;T2JZ;5UYG zi?MGZ$B(|8+h+@V|7Yjrm-YFlPdr<5l6e|7A2^Sk2@DBltodpnI#EedT8bf6?WEJn z2bXU(2VR5lfrdGwnnqRN|FpL7Nc{f2NVpwTva$Q8XdTpm^}$c5@62qN20s zY{d7!>$?v-l|Wp)r=!``(pljv$UX_T7WKg~M0OtIbsV6kehJ|hFo(=G^$TKC4DWBB!^LN5VD zV#M-!Mvvm51Gv_`6?H}u&*b_|KdtXk_~~PSa~?F!hpWjjUl+oS8moYz=nzq(p4DPI z?HpL+EE-fRv|BgbR!kB-45eQ@hjSwVEWA)9>QufCYYLDxWAr-bb`$>S%ekeJ{N=k! z>8JV2-}J+J*%V(;FW~&IdR%b)F-w#J%B4=?S5}35;jEoNx5eTz7s|c+IuP*rM0c57 zvxqiNnhOB7xtVQ4zC1ln#PL|3(t%MCuDfdKudDG=I7#9)Sq(U*S%SJc{%a_1OprQS zA_UdPfppi_<)%NWqvJ=INgea-C=9JFiVF17WM~8FWKPJOy6q!vTRNSt=n4_dv1>j5 zAMlx{y%{PSiqX`UA*?|&0$XU|z5!KT+ZP2QZ;}wVxA3wYt8ZyQpN2jZ%4=Wm=OeJq|%nsH-NNQpL zJ{sa6wiw~Ev%Q#%73xKEoZxu$<;p$Jns`sQVfJ6jpdf}i~Y{ z5Q*cyTEuJ#Kh2K8cyUnbM)Bo#r|{s*xn+4?%g%3DaON`Fz*rL=3rFK`5C?T0Dy_ER zQ)sz7FG;NiCS7!7!LB^m2hq?Y+81N7nbJhi)#(#6r>w)hb0?L+)Cv{~6fes6%;Mzr zn@Ya@;1wU*t>8NkvYX{c`YbH}%O^yS?Aq;Pxsj4pti)eLF_h|QP zbHKfyqBS#`XXvuRmJV2;4%?ECNJ4eOVM^RV$;*vs_~1Pg=qtl%W~_sghUQ$m^^P;6 zrKXP^{%sO7;;aMGsixArmu;A z5$sczcCgkj=`7jU#}UaE1gJf0tjp|yCi9V_O#?&Q_56SR@VbgofcmVMbVfz^s^W7z zO*XQiIny`Zw(7&1i`Cgn4=_F>xzV)HiInv*5W~X{sNyN+q{Jehon|N5H!#49s@Os4u3^&X)A&Bdz6nJ$M@fZ3By+?pD zWEfZ*xfY8z>`c&-NMOrzA5ze!Q@3Qu(i0=pCA2XqN;B5!ARK~ymh9VdA$>gGH5JM| zV*_V&7{`{e(1h@Q&=9~N-i)jCGUFVyKzrwuz1*Z58{+q*4pG?vU1vaAl}lRiyy8{~ z3ImR5raw8f%W9Lsu7WE0xC5AR+Cg)obRdNg8k=OC+fVzWFXy&P^X3Jv>xtAw(L0i{B2`#o z4f|Xm--FGKth&VL=o8I@Txcm`FsMs-51a@0Xl!88ZhdD!>A~1QWBMVf*zsYifltZh z7aDu|07!@0=6&l%xu|uY%qKFRR|ILoE4Pz(>n(JR4#7-e*ORRW59&>^BL*s^aOzP$ zwywT|O1CD!ePT8}IwQ#wDKlnk83WOS?d5Ili)4f&#$jxcO|eB@^Y+yE=*xMsz5AzV z?>_tT<=3XNCvsfO$at$%BV1JHz{M_WrU>=-h}9UCbGe08iviet60%H$nAh})UcT646tw*9(m|Ia_4r~&-FfBcXC-t&dG z`1=2tzJ8&9^8Y8Vee-Yq@}r-=e1)X0zxX%*>TiAYcmKilxc|j(`FlS3$+yvcn2ib3 z6@YwEcbx?J)0k_pA+-=V+GBl{Db&aYzBf3x5F}yZih3W+Rb7nxkXjhZq5*&>41FwY z*o$zFDLoT&=C%QchsgJ~=)bVHM&woiv!#Zb_}O!hY(o@_yKABOx$JcA$jNIqlZE~f z*vy0MsJqD;ueT4e%ft+>3w&#-KvoueD|Js>h$CJt)~uu{T)~w zWa>&|$xX!MW4C1_sD|L!JfRur)&WgFQ0gMusW^}a2*6sJF{7UyrOr2(U3sejx&*%Tg zb<%e|P?&FG%GH|Tgo2{KV=@{&^s{@A~^NtAafHg;|_a!eptf&F&rP z58uaR4mf0yhV^T!7HbUk5sME;G1>^tOD`Y|2+osrwuvcDk-&m5jw4UdP(O*9vW75P z9(ntHK-Q>HqR}CJBX-x}OU^N(;^@deP*52TiR>B3Dvc`xgrG*#E(?K+I^_e5wTZES zb&VC*P)3?)OEwp~#@gv;>{hLVHPpyOR_da8I^>lhn?r|nMNl6J*5CFOiL=^-tqDVFT5~k$3CFnWv~p`XH^%9$5F0T}IM20BAW9AbZ`W()bX0ef z=Mhqr)a%5MW`w@o*r+3V7-l7#azKd4>0mo8AWT(EgC>LEhVNnacIr&tx9PaQ^X6Ay z?3XW|z1(l|^*_Saf0;QRN)b4NG2#`lt!j#%m$Yt0R|ip_-)KOr6m(p<9K^XgWe z0=^L&%NUFx3nmDN`vjJml*(wKNjbz0Thtk=sk)$?kg!@}d(*aVe6!hP%CVMrqN;UJ z)+p~>){;<#!dyCLTpVAEEW)7)6^nMNwz&-lL{mlpN-+G1O{wIHZvH#%9S6}=~ z`fs$4^<(`Pzd3RL3;V0jU%dVN%YW^>{Nk0r{foc;+yC`XKKc4N{rlH{ zlTgR{7BNQOtEKa!KYaVecYpNmuRi(7y9L(992zE# zN1(A{XLGieQrO(|zIhAb56r_xS)ObixDeCrwq>tn(2r1QoQ>qwNQ6xb_Kz!OY1o@L z;cW2Ly6?d>2N|`|Z_{T(SBsdVA&Hcd4-Dv!nkfrR`A%)SHOgfY?`^g+%&-owx`3r7{5#$q5Q;o3MGtf;YP_xFeF;6RB~U0l+^TUAMb{ z2Vc(3L;6z)$X@u9V^MVYa;%smk~}+K9u)i-_=saF5nAt5*^0fu?s1|JU-2%x5T--^ zr?rhVC&c8VO18y}^E^Pa1kLk24>;dtL`D4X%>-J> z?8_9m%gc;leD@pN&CSmF9qdetpf77@QI{dN0}^^KwBo`c2(9W|(8JIOsCpn%W9xgm zV;BeHPV4HL-ehc=`0o{{9o$D78@`{}v(G8)+hGiHjg|)GOpwl;Yr|Bd&KY~a7St4S zx!ck76JO44r|FA&_dNaO%X;(tym*{a0J+SJMC^N?Mk9{xS>YtT``o~FMKe*H4-p&D zyi;4T4jgNJvhzjgndN!5I>ChA1AVnv$ZD*y`rf^Z>C)~X7LOPKLaWER34`q44KjtK z05tX$l*pVIu@hD)Z~)qbe3ZLR*=>`G`rsxQ!ZNIuc{JL=_-;-papZCxbfZzwi_l)m zTNfkR&)ez>=S{Szq_LKjJ;=F!>dUz;*x%IO{LPCu^?bj0Q~B=Io1Z^66j@|+xK(Rx z73b_++xJ1}BgSpjnlvLg`>k6^_Q*3_hTwuwz~wZE4Lbq{ThGEQ8{YBU)?6u8D4ZG| z6D_qpt3l6=qTg5b+eiEDH!F*w_=IXlcp?)qFKf(}gS3J4fJd*n^HrruFoFC%s z7zleDZ`)*Td37jOC3WfJQe2(0=|sJb?5ibnUGcH|aa_nnS}`ZAfaw)BQW9)%|+ZU?u_X;#5b z<>*cKaGluaCezr6R$tuHMqgA@?POh`km7();so}ApbD65k6nh=*eJ=N@z~&CCEfkK zzlOFW8tc$OOSq&&Q$R`q4Ct7*4SWvT1Oj2W*!s|d4PEp=cbmvgTqkv(MPp#^23fGy zG{B(3Fuz29f1RO&ATJ^xsca6z;0U=rj6ZeK@NN0`)r+rRy!N*bjww%l+aC0O_%r^& z6!iY*U;U7x@cp6vvD(t!ZRx^rs{6rx6Q4ns#jmf{b$W_l#}_qDB%=eo0bnNWij|Oe zLYKFXWB=E+B{&bQ9i#&-dc&hU3(Z$4?fceg^VFAf>xurkzkK=P?PF@V83fzQ7KDjv zF-Q(D9kO@HG1EF;98|Gm`_a;D2-{Q-3@qUXJ3^ftOGOE>x7{;Am<@@ev`t{BQ`-~F zjs}qsCCsRxV%d2pa%{g2WS(@Wd*n(FJw1UK#oJs0kq~R3>D6&xcZ)nLgQz3R0ABny z2HY^NkUQAw8#$3ykeAKf2*NhF9fD9{mm=c44J+*Q#H^~P-EMIM-v>AVl&$SJlkcr6 zq%@AP9X1<*Rlp|9ip$5v7Q+AumX0%8^tp4_aBvIf1X^W~h@O59v4CMa4D_?WC9)+$ z$2dm^a{tz1onOBC+1GC#G&!F5raiKH{IGM(A7|&7UAP-66JLmZS?BbYG;|kpI{{1K zDW~wUw)NS!Ce$R>8yf2yCov2cKn}AS00|oWAe{}EnW17DP2hK8wQ6H15_>_4il}ir zBl}I+te*O|J$T&=$c^v4ZudWbbg$c414DaVb!CAdT$IqWINr`AsfI@r)lamYlIAd= ztuyu1^aYMiH+D12P+s72=`rVEE{r%$YyPxDAzWvGD zH~Euz@%3ka`1bQZc`pty?t6o-u6dC3j2N2E3l+x25<#;VXY&oo@RbLYs5&OT=D1gK zFp;+or_9wWqp4AobQvIO;Q)rysnv1}nb|NASh~%9kNz7{h207Rp7^dkl84Z4@(@1C zZ8kR&f@TA0r;dW%w)X%o-kY3**2!5uuu+|zQBXz9QIh}~8nBSYK64F#h;bIS*7?+# zhs)ug<>*)RfN_V_d<`+xW-17n*yr|4SnL3X0ywV&>j!d>4xo_TNA0#6!-t?}E&!^1 zce^UQ=5WjTcJb49%!-y*OR7^l)?^-Qup)RtfVBs#lEC80RE-0>dS4~_9oO*j@XdJf z#n<0_74@LVd+NLRDUIV(8po$Jj!$VEzc7sh*X6V@PhrR?E2KxZ?7cc5A84*>W0yuU zAXtH+%WahO=5lq-eV=}2S4U_BfDT({G?Kloj$fx2FnnkLi!cw)-_tZ??^xUH-2Hve zK7aPXTN1i*#y+Rn?gb*`BqZcDkhPT1z6INGUe5GU&KFp7Zx+=g!f0oM1IgP6ID7@+ zqL-W|nm;NwV^@(rbr=9E5&h=^M z`m}TXvYjh0fzPbL1Opq?-^VU~Qrok3%79WpI(&-i`)oa6hH6)0pE?sKSXvFR3ZU=K zfV+dqPBoSwq_4J~JqtMTV4~vG!6UrRqJ_%)%30x z*6;LFdyO-F56ovtb}eO-J<#r1-sqRUvOm7p1UzVVKJ`8Pw0V8nyngk~Yl>?J2Lr)s zqiY*7xv`{n20eQYiqZ0jcete}hVTF@9teQdhJ) ziCEJ1h%9LrP=Z(J-9PZ`BiOS(ZK1!uD8>)Ic@eUEDlI)gDyuya(n28v^Pm7gDaQ)T znJ`nG$fbamh@){1KFV@wM9ux2GY35Dwb8>1@Znu3yiO}5nddws1@;P{HH&oiTcrT9 zT|l3(Cg9~nGFg>Y<~U;$pd1C=FLXu1>kOYo$beZoLeqwWwTzIY90*w=B&%<8%~XgU zrB8#RW6ancK?Y+wC<=LjPWt)f>(Mt~zj*gx>w4-t_*ZP}dg_kuZ)k)0k?kwa%FYwE zRLALh)QQf9l|E;k^4?=@KR~v-BT(nW7;_rJjSffC(sQi3_By+)q|9I>4zdNV;M|=l z@hiAB_NHUE+%7d|wDz%XU$<#1PkcGQ`~f2_@11}B?y>qLK$G#cucU^ph#BL#CLn@H zhedAe3_|#VJB~dNr1e0AEG=c7I(qK5HvIqE;nNAo4x9x2y52B7RrgRo4YXoDT@E}x ztBbpzPlxMImBFuE8C)(~?3Y*4TC;_qO5{HVYUQX*NW`aio4W|X5l98=ZPA6Ry&$zL zS9ak-ELGPU2oTh5FjICzT7gbAiLGDM#EMx$pg8g!t4q?orl`-LQ7-0~7?l016q9aL9zmt?`g5sH0l;DHBbe zgJ>{h!!+poQF*mv(6d;wx4w98867CVor|@QhC4Rcqow3cVDzHB?08!+F?N+!Fq2c= z{eu@9da)03n}A*+0$V7@oPu;5ob}i2Rg*$5z&>GPONbDzQPAJv-&0+Oe`cMrZl`fUAxEOGzyum1g= zGod}6s0fcyW>PCG9_8kJAk7oxcLl*OjR{Pd9l&_Cp?hq%>`?KX$c=b<4ITqjq4Y6U zPOPpf9dV(8xZ>nh+&OOu;}RCs#&T1U4xSdtI#8pz0NeTH(s50u1a zFTG?V{Mcz%4n$_6_Uk=CjWuwaiQ#+1jn07}3y@%mJ)THf2KSQcObj**RXzeDjvcz1Ft2U}>_k0A7-1 z4emJ$Q6`|Hjq`v_n+0jS5l=FBmcvql2;1mJe(oYX)YK7vT{7Pd@x3+sZeryUBQZ%=2q zkVULeUev7Z+@b~~XLtX|#h0Q&o*t~QU_T-PIk6GvUW^>b#WJg(W6LE5AyXq~$3J;e zLFepb)Ft5zuU;E$?M{6G``!~NIvoyVTu7zw!2kmz9O%McjeYlzUSubH?0hPv&&s0E zkjtvX0&^X*7>ok(sw@bTfU%QDhS3D67Iz0RqJT9Sp%AyWwVX`Bn7^R@s>cx@014}o zI>)Hs@jgw1@BT4dMK>(hg+!uUKC-$u%>hQYz}XE}=vgk@bSL63qqRY&kTU9aKyWiG z{u~=lTiU0RJLwY8Hx1IghJ2E~3$B_vqM*Cwtc`rRe)o@m3~cYaf8yEazw^QQgVa)* zPH&FZb3u%T@Cbb6e40<+ZH<0{rFk6$&n(jkCQpnBV5xGtb5{b)*G7l|Ud*0&Bj%xT zvA&SQ3qAyL8-bmk3tXOaD-YjQrf%Q80I=Oy4jV*&Hz9Lm8wgGku|^tZ zfhR$j^jKNB4o>I86yw}3nihKwra609U^)ZQZZ4G>Q>u+str)0*+hd11JelE=??(pSyqRVmo&D8w7`fuq7>}V(`+I-Sk{Mv!b!i z+Rnbb=m08?3>75=!syutimY@nSJB&ZoyjDTtjKBEqpLupw$)(jj*x+3O`3I+XaQ^Wa`{j?UbL0e^ zQ(-wlKnCiw^B6c{H>H`H(AD8Aj?(F{kyuPR;h9Jq8a5r0ys_ZK+v`5bYsl>s>8UU0 z_PF{g&{%x#Z{NQ7;xX^M!vc!D977z6Lr|9;F)Sg-ae*SI!+11gzULjA=3lU`8cv@G15po z>Mk5pbe)+QcmM3Oj{s}&n@!m`ahfRdRB93WY^6Yx&t9-PtONWUI&+OGxNtU%-WD>A zaZnjPaN5WGthGgzg9|H2c?H1IiU@$@Kpr`*O5k9|6}o3Y@nyZUF-Z%dJ<-al$sRieX!Wwyw)VS!9{c4Sm2(s&Drv!p3Ce*HedNl0 z7K@Ido@Y)(Jl9lse8U!RFxjtIacWE8h77A%NUuk$n6-C3ivaJFRi_5BaeJNBkXj`` zYlZc@f8p7EaOf3~jK|rp@XZDULRFI#5W|*p#Ol1AU{pptxJ+BsavGuy_O3Bc7_Cgm zYWgH~OnUE_b*;Yg;WE|FIJol!6=msznX0D?7`&R zP3K%Dkq7=5vDnn?9OfaeKp2wHAq;>{Fs9SUg}nmL`Ual}B_Xnus%$jgab+B$g8=%^ zzjQUoTx8D)5Ue`B1DHrI#7uZc6to;)w9KFip))YN9u6~pY1mjcHUib%CLJ`qaJEGX z@s8ZZSR;FD0X#btQpIqKn?u{O`N)pDfBD&^^~5F)1$IaBLr2`~xO5_{w)d9ORBtlD zL87y#qB*vrq0!pfM#7k$P-#t&bPYaenD>h!x)X^(XJgLRk#uTe-VOtMgL!8~yZcw3 zeFXT0yMOgMHrYThiS?@0H^_d>E4v}=7dne$DCNTXoUq6^#`P@V&RHs4?81kDyj(Op z6c}cJlCHJ@B(FXYs*CIt-veDsMuaec9)!r$G4B4g>+Nh*(+L@_TW6EC)+jBsEr1N3 z%Cu)jMVHW%2S}>qZE`x|bgLGe*L1QE&9k=_`fJeVGNQc^2Pc~f=N$yd9UcXp#U+a^ zc|ebU>dUz$W4wOzDxbf6^;mShc+J%iQik<&7AZmk)@Vs()YRGmW~^*8WPzc(2?qMB zE6G8>r}N%9nwNBhqR&F8K+%+Dg4TSn>l8IEykGa77Ulu)?pgYfHg>PDK^WR)g`c#W zRdiJM$VteKmx#C5qzQ;*b)fI}#K`XOR&K}_Z{!dyB6wovx}5qeuvX=o9EMCiN!-lT z0A9D9z^6YCz*aNq?q9z~;`0izvgR3JN23CCAU5ZoXyL>ZT4hHW0yCLZI22Fjv8xs0 zCM76Ozm}{XG1*6zK}*vy4{eJ$fFE|qE;fyR_isG={IB`o0P;R@97ova zvEipd!voSp>Yiusnw|5+QJxDf5I~3FC=fb=;Y*WfFg;Xsw>Hfs3(vL`;n_unOe6rp zAORq$ol8_O`FEc5U@$1aie9~g-P-UT^_cWxK zTUkyd0sWiT#xj=lHLWK*(sGV+F3@<1<{pXQx5T_KU68BdY`wPf7%gR^=XeHQZiI|# zNT>?>Q((&*yssOMA=!bo#}|j7V=xvpdfN9He)n%(R}p9qFRW3uMz?vWm)Y!RB4iz5 zdeH55sPxwHb3mwM9#>dAL!JR~klUURFx3IH_5*DuFf}Fw9fU9R=QwPR(YrHn^rC zAxDaQK_W2?7VOA^6kt(-E;zj<0J{R^Cf)rz7qELGY-Rc^PK!2N6x|o183@!yigq`z znku3Ig6$k}VyBjJ92{|w9-qZY3%?{{i9u6#B|4B!tDoK21B8^KDu}XLU{&h?OXcic_F$*ATNd#Y+(pD?XiA^xa z=Bw7>OH#lCVTl`uv?hvddQ+raaUcyZTR+vIK0BvVH>W- zvF99sN!MDSG2^)(m=8qtPkcGI++T@;U_aWz(*%k zZ)4bsnf@rJ@v6Ms`vfRUXl9OBV+ps~;29U_SSv2DDD(_y+|l5xs)WF#cTdTL%mIO` z7*}j&mVFH~N3AP8EE$|r>`Zpr7D3r;1AT%$2J*j7kA1Mr*al1y8EkRL zXlR@e@&<$VB5=BOZ>lAU=)O=W>8zUM;OK-9}2W;;5uoM7Geeh5tqweB6Vh;Aze zZJ}bxw$E5dNyN>G6*#8xaCGl@)4cmnp533C`l{$4nr7=bih*503L(vQ%)zC68ErIy zf$)dU7$I#_$r*#1lZ-v=IOSGrF`)w^M0zXll?Ek^HtcKx#hW5A51KTm-srZ3e&Wly zS!{m)zJz}MM=##Kc=zhf^PkqwA2WBLP(qzai2&@Tu@UX0y=@6})`uqR=uj)4Y8neV zOn6NC>CFcYbe*KU}|}EO+E-JPrYy^;Mm8Js9( z@(8jG>*8jwIZj(T(dTe1Zg>CbRp;<93%wdd5W}1{JSo@^*Aji4qJ>u0L@6#Xly?cL zR2mIIPHTjNPcmmS-Aj0b-9HtIRmjbyPG`uJ%rOmO5m} z3mGho1#-8YkdKUIS%|$~BWgndvT1g08|e^7<&1tNRWd`gv51!rRAb=bARZF+I^$D= zIc4P$p|WetDu5@-cDwt}ua90E)+R^EZrE-#T)+jkA!w0+LeJx@%gDAJFrJP52nyT7 z$Udnh*Q$w1V%Fpa3sJ8<)P^^{&LPFJk&-%B>O3^(DpoJs^X|X6zZX<^zu?tQy3`gS zq(J4{B$k7r7HayY&Ak}ofRJKVq?zDeAf^(@@#ApCL0F`ZbE;F@#mm6zn+>1__!W`x zIS<;*o3i?9cmL)4`uF%2oo8@M#Z-(oTBZpNVCz2S+OA`bP@aga2kmkxlp4s+9JWR; zAGA50Y8?RB_j0GnPObGJcvFzCBP;qGyOrQ4g;s^;-GB8_=q3N_>s}1N#W%U?o{jLEdi44E z^wWxmEWN`~dR*3K^cDvEUx?GUHkdQqxSM-fWG#ctdw0jbqYkAgT zrj7}O*@W*GJ)J*UKp{Os1S6nLx!27d$Ecz?O+sY zYbit${j7q|gyyd1eZW1010yde$_7lG$PpqPx83A#lSrOgZu=Xg{(U4g2wa#24NCWz z$O_rr@U)6NTF8hwsIA%ZG+nu<_ui2Va~bmv@=Gc)%@L(Ri?8M>;yrmR9|wymIroTb zx}^|>#1UzcD2Y1#@S$F6-}{dgku-Qe2-d<%;FIx-hl)-rOzt4aup?bp0?~7LQ3K=o zlp?|x!6})XD{st;{DLr@pEmnU+jvAc9jKlYu zau5^GIECUUNIdb?qQ5tKmDjt!EANtcM2e5(VF2Xcd#n zb@H)xz_z{*CcOLau1x6N*!}bg*=O=cBN=%LnB zivZiV5l66BAl(x&iQP^i{I?6dhZk_q9pz*o*E1XHp1Aw(udC3F0S}A`Y>H?pRWy?( zF~;v`C!oYw(Fe|HoEsfFm~!JfpdT#kVxpAn`DVWd`E6>n$-4nB? zO^fw7)TU=P-=j zyJ+FCIN%=2+6rRAMoN_k1a~^yMyV^KS|&4ITt^!OdEc3eWVRCOyf)JLq;=`kCxEH}^c*Hw3*Jgy2pueL6|ooBnlM9fo5ahM zH8v_1PNmrffGvdi4vRwCu8nv!~I)r?T2AG&))yRuP$>SnB9t}HAoL3T$@xg7+D?Y6V%yI zoNnkod_yvK&|BDx>{qr78sgkS+ku$p_mB4SltX{E9iBnc8H(h{pX>gLk=4D7!FK0 zHFvSo_T(KE02t0!n>o7-bZ2UiPF8Y3Cslu9$%QC4VVTb zbx}u}vrf=pTUhaAGPv&=PK(Ls&>7m-oCP{y?=UP-M514Xrk_&C;wgmC=(G4cCE#!2 znf`U}+cuwO`u`th`UR+4tyD(7t60N00Y?bhVayx-5^h*ZFg#&|GE(YUfNWfYXvn*b zY#iDU>0WuPycxlQIREc8kUmQb$fA}V^Wcu~@kQX;&WA3z`@<7*cNfi=p2y)fAYQ($ zKwg_87f_7QWK|AY=?gl}LwqT;z1I+`v-&|*(hR;Xmjq;J3ry#Rka0f?C=OkjHqKQu z>)d0)+InjMdFso#HGp8@eg0Lwed}M;^Kah0c=_15SX_=v6efrzzP(wc%K=cN;cuUu z*ll?qn`c)EvJwX&(ZUcC*5IVGE$Tv!^xbl3Bp{>kz4s+hHQk2{IZ+FkMkXJvdljAA zg_qtRTtr6L084O&n}%Z*K@4LxF)m06YIc}KQ85HUt&kQwPUCDRx3>|{Ck3h-VIWi$I6KOA2xVuNj?iz?X}Byl_+hnihjV!lA?_1h zo`CDSX#JwS)b?IG8jfAb6T}8MEVoTVMji^bCTn1`f}j$9r-AwRp6YdqFlg{GqWlVR z&W&i!=nEV`sqUs zhOqG1&~Wt9wZr9~IOD;Bgh^VRIr?zj_#nfC23kkK0A`?mCb09sQmuB#p(Z$(k#9(9 z6;gTI5!NsmyHz#Z2jBkQ2M>qjQRRNAWyL0>eY56@jRhz72($ubCs4!=;TjMqa8<-jauBQik`vnwoV?a`}qmxt*wty=qKP*r=zaKm@g+ z6d*MH9QmG#Sr~U8V35t#Lk>PV_-8!GFbsfwW^|}Q=L*>Nb)MPQ7WZx~I$EUQOi6?2 z8_7U1Q4~4fPE`EspFe;7=G9j(-aa^DJ@uV?gsR3rz#QNI{L%4L_Hwxj%h{lk-e{LP zh8;FV+|Y4DMlk9xavf;sLKm&`Nb1FQIF|x3L2`f}O@JWWxfvo=$ku~;5I_McAS8|n zRKHT519Q^t7GtT2K~)Trz==bB46qG{*sOfFyhmKc>w_Ysc3Ep4ne}UcLG0^LKBb=a-c~tvAnqR`J^N zr_W!%{N{@n54@yLeKQ}tgzE;hvOW}O1@a)+X-s#Gt#-PO&buqsHS6f>7$_WV<)zH8 zq?CCabW^M+8zU%6G`!k<>IM1~rf_cB)Z8as6nqp19U0h^g4FZCj2C(LzkU)Y|NrhF z)1kL0TbH-3I-Fn8SImu)a!4XEB@Z>gUsb{qL7OS-s`- z4Hi2iD?ZkJ`;eVFE2ds%eL;?++8YHe3}%NclwAStGc|!*A`F>u|F{%_eNkxk91tMa*|02Nt)&v%DLe#96x$fI+d%AnYX=%) z01&*_Wc1r%ff(>5<_aSbXo$0M*n&4GyBE9}dKt}q`R+I}X>i{CpVw6cnA8{m3QX1A z-1*Rgs2VZ@J_D0XA2@f}4$x25;&IBMq-Cm<1%!Rd*;AMlSu#X45m*4r({fA!Fu2Uo z5-|IK>so|hEE{+K*RzjcMtR%VeB#TwJ&PeG{wsf%j}`CT58&r;>8eAto>Zgtm<%j) zmw?k>x(x$>?5INlqokv_!^i?HGC}PEJAXE$M=fUb1*XJM%`n%4$-838qbqbX_p`1K zD)eFTelK-FSabu^3fqrNXwd=nHEkJf_uU7uX?}FAgjuSsSv3Yw@99vB^#Li$p0M2j zRjL`$@DBC?AM5N1OqIhgD@Pz4k<|hFuLXD8-T!^P-Zh+gJ0Eb<>ag#gW(+Mq#H+N3(qLH-FY{||;V|aI) zcmK~N!$qF(LX$E>bHgs@6JkF*dS+JZg7`9beEdU=P(=j}#)UcH=%Ag>3%(#C`53e`!G}N?TyzVa0XzBih7Ag2kuUIG*?@?Lw8yv!x@d~UN~O+_6SbP~-m>9Q zp|xxxc;IH{ZJ+V`J_Ck9R0y21WeygL%B3mC{+1A6DbUq@5l&j_Aqx@FnAeM(83}Eq zuhXE^r)DTM#w=1X0r_y)(yU0m$l*Zg0}(LCRs?*Flg0fTv3PvP6=_BOzq{HPpYipUC_Jf z<=mGr?|Ct(=K$N!dOKr*f4c~Uz|8}F>dSfbf&TdY$?>r`mc|>Bowko7<~XQy_kpn$ zcrF8O&D98&T7Xv8oX!MNOTj-VcFLnc^cQ*IkRa!`UNf+CsvrD?koOj{cNG{rh8A5{ zyQ(p{d73MISi_Ee;CMkJY*A0}(ws+Yb(&ibA1xCgz-$4-Q1wm_Hy#2aQgk9k>L`t{ zHe2r-y+E)ZTPP%sIsvKCjh#9jNzfC94!!+6pZaocbt=E~!;Cb@ORwd#p-kOuh%an0 zTn=;Mnh*vAt9pZaB#-4FIMzwlX*G~r95MRl;Mu8G+p=UYJ$)U81Q);DK)OTjc?`mU zMM~z>zZ2L!`|J5L{WdmfAvMHibvk`}aRb@2_bxgNpc#VketJNaF7m#^(9#MF4zol= z%_?+X5mBIB`#~rp!fiG$fQicGvXPh};i-U234-hfD5=}&?GspX zJ3cMMRrRGY&H)QG_mzqSqm%Px4+a(3pMdY?L_~uM zE(@*CjIpf&JPR#Iefuzfd?%mLH4^ qfFeSh$0{)X#i{mCD{vakN&w_m+RQ^#Na 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

T`%i&cH_+<`-18@ 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 M=De??r+pGv+MII|4N$5zB9&-@jkZ&^2 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ℑ6pw^s^|6_BjTLfFg5t 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 z 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 Date: Thu, 25 Sep 2025 16:15:06 +0400 Subject: [PATCH 10/21] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 38ff5a25..49f44071 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ install-client: install-server: @echo "Installing server dependencies..." - @cd server && yarn install || exit 1 + @cd server && yarn install --immutable || exit 1 @echo "Server dependencies installed successfully!" .PHONY: install-server From 491239927c2efb3e2a9e178fe29d08d287796b95 Mon Sep 17 00:00:00 2001 From: Faouzi JEDIDI Date: Thu, 25 Sep 2025 16:22:45 +0400 Subject: [PATCH 11/21] chore: upgrade interface to Yarn 4.9.1 and regenerate lockfile --- interface/package.json | 3 +- interface/yarn.lock | 13476 ++++++++++++++++++++++++--------------- 2 files changed, 8294 insertions(+), 5185 deletions(-) diff --git a/interface/package.json b/interface/package.json index 6ad06646..4c9d762d 100644 --- a/interface/package.json +++ b/interface/package.json @@ -78,5 +78,6 @@ ".": { "svelte": "./dist/index.js" } - } + }, + "packageManager": "yarn@4.9.1" } diff --git a/interface/yarn.lock b/interface/yarn.lock index 33762978..7999bdb5 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1,5186 +1,8294 @@ -# 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== - -"@alloc/quick-lru@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" - integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== - -"@ampproject/remapping@^2.2.1": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/runtime@^7.15.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" - integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== - dependencies: - regenerator-runtime "^0.14.0" - -"@esbuild/aix-ppc64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" - integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== - -"@esbuild/aix-ppc64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" - integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== - -"@esbuild/android-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4" - integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== - -"@esbuild/android-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" - integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== - -"@esbuild/android-arm@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824" - integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== - -"@esbuild/android-arm@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" - integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== - -"@esbuild/android-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d" - integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== - -"@esbuild/android-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" - integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== - -"@esbuild/darwin-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e" - integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== - -"@esbuild/darwin-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" - integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== - -"@esbuild/darwin-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd" - integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== - -"@esbuild/darwin-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" - integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== - -"@esbuild/freebsd-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487" - integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== - -"@esbuild/freebsd-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" - integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== - -"@esbuild/freebsd-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c" - integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== - -"@esbuild/freebsd-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" - integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== - -"@esbuild/linux-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b" - integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== - -"@esbuild/linux-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" - integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== - -"@esbuild/linux-arm@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef" - integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== - -"@esbuild/linux-arm@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" - integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== - -"@esbuild/linux-ia32@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601" - integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== - -"@esbuild/linux-ia32@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" - integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== - -"@esbuild/linux-loong64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299" - integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== - -"@esbuild/linux-loong64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" - integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== - -"@esbuild/linux-mips64el@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec" - integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== - -"@esbuild/linux-mips64el@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" - integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== - -"@esbuild/linux-ppc64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8" - integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== - -"@esbuild/linux-ppc64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" - integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== - -"@esbuild/linux-riscv64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf" - integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== - -"@esbuild/linux-riscv64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" - integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== - -"@esbuild/linux-s390x@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8" - integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== - -"@esbuild/linux-s390x@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" - integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== - -"@esbuild/linux-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78" - integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== - -"@esbuild/linux-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" - integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== - -"@esbuild/netbsd-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b" - integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== - -"@esbuild/netbsd-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" - integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== - -"@esbuild/openbsd-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0" - integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== - -"@esbuild/openbsd-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" - integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== - -"@esbuild/sunos-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30" - integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== - -"@esbuild/sunos-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" - integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== - -"@esbuild/win32-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae" - integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== - -"@esbuild/win32-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" - integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== - -"@esbuild/win32-ia32@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67" - integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== - -"@esbuild/win32-ia32@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" - integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== - -"@esbuild/win32-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" - integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== - -"@esbuild/win32-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" - integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== - -"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== - -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.6.8": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/wallet@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@fontsource/bebas-neue@^5.0.18": - version "5.0.20" - resolved "https://registry.yarnpkg.com/@fontsource/bebas-neue/-/bebas-neue-5.0.20.tgz#623b92d2bc0fa058d3d5ae1ff626a0ab729f38ae" - integrity sha512-lJ/y3N/dzOZw1j1ArSOju0Mcz5vEyn81WsUm+ECIicnkT3Um6Y/+IUW+k7roWKSj1pKTu+kyFPZMuVhikoQZBw== - -"@fontsource/fira-mono@^4.5.10": - version "4.5.10" - resolved "https://registry.yarnpkg.com/@fontsource/fira-mono/-/fira-mono-4.5.10.tgz#443be4b2b4fc6e685b88431fcfdaf8d5f5639bbf" - integrity sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ== - -"@fontsource/inter@^5.0.16": - version "5.0.18" - resolved "https://registry.yarnpkg.com/@fontsource/inter/-/inter-5.0.18.tgz#eaddac790ee74b70932030f37ebaa9fc76decbd8" - integrity sha512-YCsoYPTcs713sI7tLtxaPrIhXAXvEetGg5Ry02ivA8qUOb3fQHojbK/X9HLD5OOKvFUNR2Ynkwb1kR1hVKQHpw== - -"@formatjs/ecma402-abstract@1.18.2": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz#bf103712a406874eb1e387858d5be2371ab3aa14" - integrity sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA== - dependencies: - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" - -"@formatjs/fast-memoize@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz#33bd616d2e486c3e8ef4e68c99648c196887802b" - integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== - dependencies: - tslib "^2.4.0" - -"@formatjs/icu-messageformat-parser@2.7.6": - version "2.7.6" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.6.tgz#3d69806de056d2919d53dad895a5ff4851e4e9ff" - integrity sha512-etVau26po9+eewJKYoiBKP6743I1br0/Ie00Pb/S/PtmYfmjTcOn2YCh2yNkSZI12h6Rg+BOgQYborXk46BvkA== - dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/icu-skeleton-parser" "1.8.0" - tslib "^2.4.0" - -"@formatjs/icu-skeleton-parser@1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.0.tgz#5f3d3a620c687d6f8c180d80d1241e8f213acf79" - integrity sha512-QWLAYvM0n8hv7Nq5BEs4LKIjevpVpbGLAJgOaYzg9wABEoX1j0JO1q2/jVkO6CVlq0dbsxZCngS5aXbysYueqA== - dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - tslib "^2.4.0" - -"@formatjs/intl-localematcher@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz#caa71f2e40d93e37d58be35cfffe57865f2b366f" - integrity sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g== - dependencies: - tslib "^2.4.0" - -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - 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.18", "@jridgewell/trace-mapping@^0.3.24": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@mixin.dev/mixin-node-sdk@^6.1.1": - version "6.1.1" - resolved "https://registry.yarnpkg.com/@mixin.dev/mixin-node-sdk/-/mixin-node-sdk-6.1.1.tgz#e7ac5960a57a0e94f4d3543910d5550ee6e031e6" - integrity sha512-TtdwW4hec6QROparjzs4NvHZCRTgm/Bt4IDO3BjTHQ+oGmmjnMCCQuCeIOVRGOmjxU1ztK4tgkdazJzjQVN3qw== - dependencies: - "@ethersproject/providers" "^5.6.8" - "@noble/curves" "^1.2.0" - "@noble/hashes" "^1.3.2" - "@types/qs" "^6.9.10" - axios "1.6.2" - axios-retry "3.4.0" - curve25519-js "^0.0.4" - ethers "^5.6.8" - int64-buffer "^1.0.1" - is-retry-allowed "2.2.0" - lodash.merge "^4.6.2" - nano-seconds "^1.2.2" - node-forge "^1.3.1" - pako "^2.0.4" - qs "^6.11.2" - serialize-javascript "^6.0.0" - uuid "^9.0.0" - ws "^8.7.0" - -"@noble/curves@^1.2.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" - integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== - dependencies: - "@noble/hashes" "1.4.0" - -"@noble/hashes@1.4.0", "@noble/hashes@^1.3.2": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - -"@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" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@playwright/experimental-ct-core@1.43.1": - version "1.43.1" - resolved "https://registry.yarnpkg.com/@playwright/experimental-ct-core/-/experimental-ct-core-1.43.1.tgz#98c8c55618ae66a8f5cd24434efc108e0868e5bb" - integrity sha512-4llE4A8fgqRsIHIAO4FVcolxzkvhJ60462C8MBERUEmEa4K/X34NiEIi2mhQTcfWp4iBlf9JPspiun3FDv/yig== - dependencies: - playwright "1.43.1" - playwright-core "1.43.1" - vite "^5.0.13" - -"@playwright/experimental-ct-svelte@^1.40.1": - version "1.43.1" - resolved "https://registry.yarnpkg.com/@playwright/experimental-ct-svelte/-/experimental-ct-svelte-1.43.1.tgz#7dda3eaa6915c96cdaffd61d3a7ace7197eb3316" - integrity sha512-o5tdMUpFnPPU4MigBBccZBOCyvccJIICq7xdFfqhyd7rSIsqNT0ug+Gqg34T9uZDfGWV9wqQhA88jFSFq15zkQ== - dependencies: - "@playwright/experimental-ct-core" "1.43.1" - "@sveltejs/vite-plugin-svelte" "^3.0.1" - -"@playwright/test@^1.47.2": - version "1.47.2" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.47.2.tgz#dbe7051336bfc5cc599954214f9111181dbc7475" - integrity sha512-jTXRsoSPONAs8Za9QEQdyjFn+0ZQFjCiIztAIF6bi1HqhBzG9Ma7g1WotyiGqFSBRZjIEqMdT8RUlbk1QVhzCQ== - dependencies: - playwright "1.47.2" - -"@polka/url@^1.0.0-next.24": - version "1.0.0-next.25" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817" - integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== - -"@rollup/plugin-inject@^5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz#616f3a73fe075765f91c5bec90176608bed277a3" - integrity sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg== - dependencies: - "@rollup/pluginutils" "^5.0.1" - estree-walker "^2.0.2" - magic-string "^0.30.3" - -"@rollup/pluginutils@^5.0.1": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" - integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^2.3.1" - -"@rollup/rollup-android-arm-eabi@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz#5e8930291f1e5ead7fb1171d53ba5c87718de062" - integrity sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q== - -"@rollup/rollup-android-arm64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.4.tgz#ffb84f1359c04ec8a022a97110e18a5600f5f638" - integrity sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w== - -"@rollup/rollup-darwin-arm64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.4.tgz#b2fcee8d4806a0b1b9185ac038cc428ddedce9f4" - integrity sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw== - -"@rollup/rollup-darwin-x64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.4.tgz#fcb25ccbaa3dd33a6490e9d1c64bab2e0e16b932" - integrity sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ== - -"@rollup/rollup-linux-arm-gnueabihf@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.4.tgz#40d46bdfe667e5eca31bf40047460e326d2e26bb" - integrity sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw== - -"@rollup/rollup-linux-arm-musleabihf@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.4.tgz#7741df2448c11c56588b50835dbfe91b1a10b375" - integrity sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg== - -"@rollup/rollup-linux-arm64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.4.tgz#0a23b02d2933e4c4872ad18d879890b6a4a295df" - integrity sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w== - -"@rollup/rollup-linux-arm64-musl@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.4.tgz#e37ef259358aa886cc07d782220a4fb83c1e6970" - integrity sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg== - -"@rollup/rollup-linux-powerpc64le-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.4.tgz#8c69218b6de05ee2ba211664a2d2ac1e54e43f94" - integrity sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w== - -"@rollup/rollup-linux-riscv64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.4.tgz#d32727dab8f538d9a4a7c03bcf58c436aecd0139" - integrity sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng== - -"@rollup/rollup-linux-s390x-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.4.tgz#d46097246a187d99fc9451fe8393b7155b47c5ec" - integrity sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ== - -"@rollup/rollup-linux-x64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.4.tgz#6356c5a03a4afb1c3057490fc51b4764e109dbc7" - integrity sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA== - -"@rollup/rollup-linux-x64-musl@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.4.tgz#03a5831a9c0d05877b94653b5ddd3020d3c6fb06" - integrity sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA== - -"@rollup/rollup-win32-arm64-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.4.tgz#6cc0db57750376b9303bdb6f5482af8974fcae35" - integrity sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA== - -"@rollup/rollup-win32-ia32-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.4.tgz#aea0b7e492bd9ed46971cb80bc34f1eb14e07789" - integrity sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w== - -"@rollup/rollup-win32-x64-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.4.tgz#c09ad9a132ccb5a67c4f211d909323ab1294f95f" - integrity sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@socket.io/component-emitter@~3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.1.tgz#621270c02c0a5d4f4669eb1caa9723c91cf201de" - integrity sha512-dzJtaDAAoXx4GCOJpbB2eG/Qj8VDpdwkLsWGzGm+0L7E8/434RyMbAHmk9ubXWVAb9nXmc44jUf8GKqVDiKezg== - -"@sveltejs/adapter-auto@^3.0.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@sveltejs/adapter-auto/-/adapter-auto-3.2.0.tgz#00720dfad99f95452c6e47cc64a1cb58324337d2" - integrity sha512-She5nKT47kwHE18v9NMe6pbJcvULr82u0V3yZ0ej3n1laWKGgkgdEABE9/ak5iDPs93LqsBkuIo51kkwCLBjJA== - dependencies: - import-meta-resolve "^4.0.0" - -"@sveltejs/adapter-static@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-3.0.5.tgz#12ceaf396e27f5871ae59da44c15caf9f4a91005" - integrity sha512-kFJR7RxeB6FBvrKZWAEzIALatgy11ISaaZbcPup8JdWUdrmmfUHHTJ738YHJTEfnCiiXi6aX8Q6ePY7tnSMD6Q== - -"@sveltejs/kit@^2.0.0": - version "2.5.7" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.5.7.tgz#1ffab713d2dde23ae782c26a1efcd092edb76fe0" - integrity sha512-6uedTzrb7nQrw6HALxnPrPaXdIN2jJJTzTIl96Z3P5NiG+OAfpdPbrWrvkJ3GN4CfWqrmU4dJqwMMRMTD/C7ow== - dependencies: - "@types/cookie" "^0.6.0" - cookie "^0.6.0" - devalue "^5.0.0" - esm-env "^1.0.0" - import-meta-resolve "^4.0.0" - kleur "^4.1.5" - magic-string "^0.30.5" - mrmime "^2.0.0" - sade "^1.8.1" - set-cookie-parser "^2.6.0" - sirv "^2.0.4" - tiny-glob "^0.2.9" - -"@sveltejs/vite-plugin-svelte-inspector@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz#116ba2b73be43c1d7d93de749f37becc7e45bb8c" - integrity sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg== - dependencies: - debug "^4.3.4" - -"@sveltejs/vite-plugin-svelte@^3.0.0", "@sveltejs/vite-plugin-svelte@^3.0.1": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.0.tgz#f9a1ff15e0206b4ed43fe06294d31b1319dcd654" - integrity sha512-sY6ncCvg+O3njnzbZexcVtUqOBE3iYmQPJ9y+yXSkOwG576QI/xJrBnQSRXFLGwJNBa0T78JEKg5cIR0WOAuUw== - dependencies: - "@sveltejs/vite-plugin-svelte-inspector" "^2.0.0" - debug "^4.3.4" - deepmerge "^4.3.1" - kleur "^4.1.5" - magic-string "^0.30.9" - svelte-hmr "^0.16.0" - vitefu "^0.2.5" - -"@types/cookie@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.6.0.tgz#eac397f28bf1d6ae0ae081363eca2f425bedf0d5" - integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== - -"@types/estree@*", "@types/estree@1.0.5", "@types/estree@^1.0.0", "@types/estree@^1.0.1": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/json-schema@^7.0.12": - 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@^20.11.0": - version "20.12.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" - integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== - dependencies: - undici-types "~5.26.4" - -"@types/node@^6.0.96": - version "6.14.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.14.13.tgz#b6649578fc0b5dac88c4ef48a46cab33c50a6c72" - integrity sha512-J1F0XJ/9zxlZel5ZlbeSuHW2OpabrUAqpFuC2sm2I3by8sERQ8+KCjNKUcq8QHuzpGMWiJpo9ZxeHrqrP2KzQw== - -"@types/pug@^2.0.6": - version "2.0.10" - resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.10.tgz#52f8dbd6113517aef901db20b4f3fca543b88c1f" - integrity sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA== - -"@types/qs@^6.9.10": - version "6.9.15" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" - integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== - -"@types/semver@^7.5.0": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== - -"@types/uuid@^9.0.8": - version "9.0.8" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" - integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== - -"@typescript-eslint/eslint-plugin@^6.19.1": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" - integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/type-utils" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" - natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@^6.19.1", "@typescript-eslint/parser@^6.4.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" - integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== - dependencies: - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" - integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== - dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - -"@typescript-eslint/type-utils@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" - integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== - dependencies: - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/types@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" - integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== - -"@typescript-eslint/typescript-estree@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" - integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== - dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" - integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" - integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== - dependencies: - "@typescript-eslint/types" "6.21.0" - eslint-visitor-keys "^3.4.1" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@vitest/expect@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-1.5.0.tgz#961190510a2723bd4abf5540bcec0a4dfd59ef14" - integrity sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA== - dependencies: - "@vitest/spy" "1.5.0" - "@vitest/utils" "1.5.0" - chai "^4.3.10" - -"@vitest/runner@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-1.5.0.tgz#1f7cb78ee4064e73e53d503a19c1b211c03dfe0c" - integrity sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ== - dependencies: - "@vitest/utils" "1.5.0" - p-limit "^5.0.0" - pathe "^1.1.1" - -"@vitest/snapshot@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-1.5.0.tgz#cd2d611fd556968ce8fb6b356a09b4593c525947" - integrity sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A== - dependencies: - magic-string "^0.30.5" - pathe "^1.1.1" - pretty-format "^29.7.0" - -"@vitest/spy@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-1.5.0.tgz#1369a1bec47f46f18eccfa45f1e8fbb9b5e15e77" - integrity sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w== - dependencies: - tinyspy "^2.2.0" - -"@vitest/utils@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-1.5.0.tgz#90c9951f4516f6d595da24876b58e615f6c99863" - integrity sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A== - dependencies: - diff-sequences "^29.6.3" - estree-walker "^3.0.3" - loupe "^2.3.7" - pretty-format "^29.7.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-walk@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -acorn@^8.10.0, acorn@^8.11.3, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - -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.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.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -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" - -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== - dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" - -array-includes@^3.1.7: - version "3.1.8" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" - integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - is-string "^1.0.7" - -array-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.prototype.findlastindex@^1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" - integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" - -array.prototype.flat@^1.3.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.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" - define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" - is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" - -asn1.js@^4.10.1: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -assert@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" - integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== - dependencies: - call-bind "^1.0.2" - is-nan "^1.3.2" - object-is "^1.1.5" - object.assign "^4.1.4" - util "^0.12.5" - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -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== - -autoprefixer@^10.4.16: - version "10.4.19" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== - dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -axios-retry@3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/axios-retry/-/axios-retry-3.4.0.tgz#f464dbe9408e5aa78fa319afd38bb69b533d8854" - integrity sha512-VdgaP+gHH4iQYCCNUWF2pcqeciVOdGrBBAYUfTY+wPcO5Ltvp/37MLFNCmJKo7Gj3SHvCSdL8ouI1qLYJN3liA== - dependencies: - "@babel/runtime" "^7.15.4" - is-retry-allowed "^2.2.0" - -axios@1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" - integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axios@^1.6.3: - version "1.6.8" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" - integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axobject-query@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.0.0.tgz#04a4c90dce33cc5d606c76d6216e3b250ff70dab" - integrity sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw== - dependencies: - dequal "^2.0.3" - -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-x@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-5.0.0.tgz#6d835ceae379130e1a4cb846a70ac4746f28ea9b" - integrity sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ== - -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== - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -bignumber.js@^9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browser-resolve@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b" - integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== - dependencies: - resolve "^1.17.0" - -browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.3.tgz#7afe4c01ec7ee59a89a558a4b75bd85ae62d4208" - integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== - dependencies: - bn.js "^5.2.1" - browserify-rsa "^4.1.0" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.5" - hash-base "~3.0" - inherits "^2.0.4" - parse-asn1 "^5.1.7" - readable-stream "^2.3.8" - safe-buffer "^5.2.1" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bs58@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-6.0.0.tgz#a2cda0130558535dd281a2f8697df79caaf425d8" - integrity sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw== - dependencies: - base-x "^5.0.0" - -buffer-crc32@^0.2.5: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-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== - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -builtins@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" - integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== - dependencies: - semver "^7.0.0" - -cac@^6.7.14: - version "6.7.14" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" - integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001678" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001678.tgz" - integrity sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw== - -chai@^4.3.10: - version "4.4.1" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" - integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" - -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" - -check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" - -chokidar@^3.4.1, chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -cleave.js@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/cleave.js/-/cleave.js-1.6.0.tgz#0e4e011943bdd70c67c9dcf4ff800ce710529171" - integrity sha512-ivqesy3j5hQVG3gywPfwKPbi/7ZSftY/UNp5uphnqjr25yI2CP8FS2ODQPzuLXXnNLi29e2+PgPkkiKUXLs/Nw== - -cli-color@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-2.0.4.tgz#d658080290968816b322248b7306fad2346fb2c8" - integrity sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA== - dependencies: - d "^1.0.1" - es5-ext "^0.10.64" - es6-iterator "^2.0.3" - memoizee "^0.4.15" - timers-ext "^0.1.7" - -clsx@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" - integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== - -code-red@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/code-red/-/code-red-1.0.4.tgz#59ba5c9d1d320a4ef795bc10a28bd42bfebe3e35" - integrity sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - "@types/estree" "^1.0.1" - acorn "^8.10.0" - estree-walker "^3.0.3" - periscopic "^3.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== - -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@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -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== - -confbox@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.7.tgz#ccfc0a2bcae36a84838e83a3b7f770fb17d6c579" - integrity sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - -cookie@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" - integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== - -css-selector-tokenizer@^0.8: - version "0.8.0" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz#88267ef6238e64f2215ea2764b3e2cf498b845dd" - integrity sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg== - dependencies: - cssesc "^3.0.0" - fastparse "^1.1.2" - -css-tree@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -culori@^3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/culori/-/culori-3.3.0.tgz#e33530adbd124d53bd6550394397e695eaaed739" - integrity sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ== - -curve25519-js@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/curve25519-js/-/curve25519-js-0.0.4.tgz#e6ad967e8cd284590d657bbfc90d8b50e49ba060" - integrity sha512-axn2UMEnkhyDUPWOwVKBMVIzSQy2ejH2xRGy1wq81dqRwApXfIzfbE3hIX0ZRFBIihf/KDqK158DLwESu4AK1w== - -d@1, d@^1.0.1, d@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de" - integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw== - dependencies: - es5-ext "^0.10.64" - type "^2.7.2" - -daisyui@^4.12: - version "4.12.14" - resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-4.12.14.tgz#c5c2061f97769aa3b56ab62e5bd147ee3979c90f" - integrity sha512-hA27cdBasdwd4/iEjn+aidoCrRroDuo3G5W9NDKaVCJI437Mm/3eSL/2u7MkZ0pt8a+TrYF3aT2pFVemTS3how== - dependencies: - css-selector-tokenizer "^0.8" - culori "^3" - picocolors "^1" - postcss-js "^4" - -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: - 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-eql@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" - -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, deepmerge@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-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" - -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== - -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -des.js@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" - integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -detect-indent@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -devalue@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/devalue/-/devalue-5.0.0.tgz#1ca0099a7d715b4d6cac3924e770ccbbc584ad98" - integrity sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA== - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -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" - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -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" - -domain-browser@^4.22.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.23.0.tgz#427ebb91efcb070f05cffdfb8a4e9a6c25f8c94b" - integrity sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA== - -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== - -easy-reactive@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/easy-reactive/-/easy-reactive-1.0.4.tgz#68933d77359e90addc6cf747499fcf4580bcb160" - integrity sha512-dFVouegPctMf6XT5si+sRByBWUQE30n99TW0Y45Y7mccmNsbSl4uXA2sBGI8zCDZqXjhb8ouA3wVVhSSGpXk5Q== - dependencies: - lodash.clonedeep "^4.5.0" - lodash.get "^4.4.2" - lodash.isequal "^4.5.0" - -electron-to-chromium@^1.4.668: - version "1.4.746" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.746.tgz#787213e75f6c7bccb55dfe8b68170555c548d093" - integrity sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg== - -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -elliptic@^6.5.3, elliptic@^6.5.5: - version "6.5.5" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded" - integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -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== - -engine.io-client@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.5.3.tgz#4cf6fa24845029b238f83c628916d9149c399bc5" - integrity sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - engine.io-parser "~5.2.1" - ws "~8.11.0" - xmlhttprequest-ssl "~2.0.0" - -engine.io-parser@~5.2.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.2.tgz#37b48e2d23116919a3453738c5720455e64e1c49" - integrity sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw== - -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== - dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" - is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.2.1, es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== - dependencies: - get-intrinsic "^1.2.4" - has-tostringtag "^1.0.2" - hasown "^2.0.1" - -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.53, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.64" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714" - integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - esniff "^2.0.1" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-promise@^3.1.2: - version "3.3.1" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" - integrity sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.4" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c" - integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg== - dependencies: - d "^1.0.2" - ext "^1.7.0" - -es6-weak-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - -esbuild@^0.19.2: - version "0.19.12" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04" - integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== - optionalDependencies: - "@esbuild/aix-ppc64" "0.19.12" - "@esbuild/android-arm" "0.19.12" - "@esbuild/android-arm64" "0.19.12" - "@esbuild/android-x64" "0.19.12" - "@esbuild/darwin-arm64" "0.19.12" - "@esbuild/darwin-x64" "0.19.12" - "@esbuild/freebsd-arm64" "0.19.12" - "@esbuild/freebsd-x64" "0.19.12" - "@esbuild/linux-arm" "0.19.12" - "@esbuild/linux-arm64" "0.19.12" - "@esbuild/linux-ia32" "0.19.12" - "@esbuild/linux-loong64" "0.19.12" - "@esbuild/linux-mips64el" "0.19.12" - "@esbuild/linux-ppc64" "0.19.12" - "@esbuild/linux-riscv64" "0.19.12" - "@esbuild/linux-s390x" "0.19.12" - "@esbuild/linux-x64" "0.19.12" - "@esbuild/netbsd-x64" "0.19.12" - "@esbuild/openbsd-x64" "0.19.12" - "@esbuild/sunos-x64" "0.19.12" - "@esbuild/win32-arm64" "0.19.12" - "@esbuild/win32-ia32" "0.19.12" - "@esbuild/win32-x64" "0.19.12" - -esbuild@^0.20.1: - version "0.20.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" - integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== - optionalDependencies: - "@esbuild/aix-ppc64" "0.20.2" - "@esbuild/android-arm" "0.20.2" - "@esbuild/android-arm64" "0.20.2" - "@esbuild/android-x64" "0.20.2" - "@esbuild/darwin-arm64" "0.20.2" - "@esbuild/darwin-x64" "0.20.2" - "@esbuild/freebsd-arm64" "0.20.2" - "@esbuild/freebsd-x64" "0.20.2" - "@esbuild/linux-arm" "0.20.2" - "@esbuild/linux-arm64" "0.20.2" - "@esbuild/linux-ia32" "0.20.2" - "@esbuild/linux-loong64" "0.20.2" - "@esbuild/linux-mips64el" "0.20.2" - "@esbuild/linux-ppc64" "0.20.2" - "@esbuild/linux-riscv64" "0.20.2" - "@esbuild/linux-s390x" "0.20.2" - "@esbuild/linux-x64" "0.20.2" - "@esbuild/netbsd-x64" "0.20.2" - "@esbuild/openbsd-x64" "0.20.2" - "@esbuild/sunos-x64" "0.20.2" - "@esbuild/win32-arm64" "0.20.2" - "@esbuild/win32-ia32" "0.20.2" - "@esbuild/win32-x64" "0.20.2" - -escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-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-compat-utils@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz#f7b2eb2befec25a370fac76934d3f9189f312a65" - integrity sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg== - dependencies: - semver "^7.5.4" - -eslint-config-standard-with-typescript@^43.0.1: - version "43.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-43.0.1.tgz#977862d7d41b0e1f27f399137bbf7b2e017037ff" - integrity sha512-WfZ986+qzIzX6dcr4yGUyVb/l9N3Z8wPXCc5z/70fljs3UbWhhV+WxrfgsqMToRzuuyX9MqZ974pq2UPhDTOcA== - dependencies: - "@typescript-eslint/parser" "^6.4.0" - eslint-config-standard "17.1.0" - -eslint-config-standard@17.1.0: - version "17.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz#40ffb8595d47a6b242e07cbfd49dc211ed128975" - integrity sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q== - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" - integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== - dependencies: - debug "^3.2.7" - -eslint-plugin-es-x@^7.5.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz#ccee7a4556c0f816d1ae88fd0eea21540e8ccd65" - integrity sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA== - dependencies: - "@eslint-community/eslint-utils" "^4.1.2" - "@eslint-community/regexpp" "^4.6.0" - eslint-compat-utils "^0.5.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-n@^16.6.2: - version "16.6.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz#6a60a1a376870064c906742272074d5d0b412b0b" - integrity sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - builtins "^5.0.1" - eslint-plugin-es-x "^7.5.0" - get-tsconfig "^4.7.0" - globals "^13.24.0" - ignore "^5.2.4" - is-builtin-module "^3.2.1" - is-core-module "^2.12.1" - minimatch "^3.1.2" - resolve "^1.22.2" - semver "^7.5.3" - -eslint-plugin-promise@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" - integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig== - -eslint-plugin-svelte@^2.35.1: - version "2.38.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-svelte/-/eslint-plugin-svelte-2.38.0.tgz#4a3ae9ab9daa32da54227a9734aaf401a2175d9e" - integrity sha512-IwwxhHzitx3dr0/xo0z4jjDlb2AAHBPKt+juMyKKGTLlKi1rZfA4qixMwnveU20/JTHyipM6keX4Vr7LZFYc9g== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@jridgewell/sourcemap-codec" "^1.4.15" - debug "^4.3.4" - eslint-compat-utils "^0.5.0" - esutils "^2.0.3" - known-css-properties "^0.30.0" - postcss "^8.4.38" - postcss-load-config "^3.1.4" - postcss-safe-parser "^6.0.0" - postcss-selector-parser "^6.0.16" - semver "^7.6.0" - svelte-eslint-parser ">=0.35.0 <1.0.0" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.56.0: - version "8.57.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -esm-env@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/esm-env/-/esm-env-1.0.0.tgz#b124b40b180711690a4cb9b00d16573391950413" - integrity sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA== - -esniff@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" - integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== - dependencies: - d "^1.0.1" - es5-ext "^0.10.62" - event-emitter "^0.3.5" - type "^2.7.2" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^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, 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== - -estree-walker@^3.0.0, estree-walker@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -esutils@^2.0.2, esutils@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -ethers@^5.6.8: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" - -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - -events@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - -ext@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - -fancy-canvas@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fancy-canvas/-/fancy-canvas-2.1.0.tgz#44b40e40419ad8ef8304df365e4276767e918552" - integrity sha512-nifxXJ95JNLFR2NgRV4/MxVP45G9909wJTEKz5fg/TZS20JJZA6hfgRVh/bC9bwl2zBtBNcYPjiBE4njQHVBwQ== - -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.7, fast-glob@^3.2.9, fast-glob@^3.3.0: - 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.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== - -fastparse@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -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.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.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -follow-redirects@^1.15.0, follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - -for-each@^0.3.3: - 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" - -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fraction.js@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -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== - -fsevents@~2.3.2, fsevents@~2.3.3: - 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" - -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== - -get-func-name@^2.0.1, get-func-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-stream@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" - integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== - -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== - dependencies: - call-bind "^1.0.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - -get-tsconfig@^4.7.0: - version "4.7.3" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.3.tgz#0498163d98f7b58484dd4906999c0c9d5f103f83" - integrity sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg== - dependencies: - resolve-pkg-maps "^1.0.0" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - 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@^10.3.10: - version "10.3.12" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b" - integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.6" - minimatch "^9.0.1" - minipass "^7.0.4" - path-scurry "^1.10.2" - -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, globals@^13.24.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" - -globalyzer@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" - integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== - -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" - -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - -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.3: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -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@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash-base@~3.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -human-signals@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== - -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@^5.2.0, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -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-meta-resolve@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz#0b1195915689f60ab00f830af0f15cc841e8919e" - integrity sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA== - -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, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -int64-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/int64-buffer/-/int64-buffer-1.0.1.tgz#c78d841b444cadf036cd04f8683696c740f15dca" - integrity sha512-+3azY4pXrjAupJHU1V9uGERWlhoqNswJNji6aD/02xac7oxol508AsMC5lxKhEqyZeDFy3enq5OGWXF4u75hiw== - -internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" - -intl-messageformat@^10.5.3: - version "10.5.11" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.11.tgz#95d6a3b0b303f924d5d8c3f8d3ad057d1dc73c64" - integrity sha512-eYq5fkFBVxc7GIFDzpFQkDOZgNayNTQn4Oufe8jw6YY6OHVw70/4pA3FyCsQ0Gb2DnvEJEMmN2tOaXUGByM+kg== - dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.7.6" - tslib "^2.4.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-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - -is-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-builtin-module@^3.2.1: - 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-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.12.1, 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-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== - dependencies: - is-typed-array "^1.1.13" - -is-date-object@^1.0.1: - 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-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-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-nan@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-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-promise@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - -is-reference@^3.0.0, is-reference@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c" - integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== - dependencies: - "@types/estree" "*" - -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-retry-allowed@2.2.0, is-retry-allowed@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d" - integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== - -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== - dependencies: - call-bind "^1.0.7" - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.13, is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - -is-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" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isomorphic-timers-promises@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz#e4137c24dbc54892de8abae3a4b5c1ffff381598" - integrity sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ== - -jackspeak@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jiti@^1.21.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== - -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-tokens@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-9.0.0.tgz#0f893996d6f3ed46df7f0a3b12a03f5fd84223c1" - integrity sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ== - -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-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-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@^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" - -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" - -kleur@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - -klinecharts@^9.7.2: - version "9.8.5" - resolved "https://registry.yarnpkg.com/klinecharts/-/klinecharts-9.8.5.tgz#4277ec66dc4ad64ed45439fb44327860e97bb1f5" - integrity sha512-sBuFmnwuxwC51VQ17WOEem80bzfX/4nUMuEzTvfcMvUtTiYb7HYP3jqlI+ei3f2WkqplfYKrpNOn5ejucq1NrQ== - -known-css-properties@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.30.0.tgz#34dd1f39c805c65a6dfa6ea76206b20dc523dd96" - integrity sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ== - -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" - -lightweight-charts@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/lightweight-charts/-/lightweight-charts-4.1.3.tgz#467fb88a5efc3665bea64c193591cfc082d84300" - integrity sha512-SJacmEyx3LmT2Qsc7Kq7cEX7nEHtQv0MOlujhRlcDxhW62pG6nkBlcM52/jNqkq8B28KQeVmgOQ7zrdJ4BCPDw== - dependencies: - fancy-canvas "2.1.0" - -lilconfig@^2.0.5, lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lilconfig@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -local-pkg@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" - integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== - dependencies: - mlly "^1.4.2" - pkg-types "^1.0.3" - -locate-character@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-character/-/locate-character-3.0.0.tgz#0305c5b8744f61028ef5d01f444009e00779f974" - integrity sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA== - -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.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -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== - -loupe@^2.3.6, loupe@^2.3.7: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - -lru-cache@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== - dependencies: - es5-ext "~0.10.2" - -magic-string@^0.30.3, magic-string@^0.30.4, magic-string@^0.30.5, magic-string@^0.30.9: - version "0.30.10" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e" - integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -memoizee@^0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" - integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.53" - es6-weak-map "^2.0.3" - event-emitter "^0.3.5" - is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - -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" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.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@^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== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.1: - version "9.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== - dependencies: - brace-expansion "^2.0.1" - -minimist@^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== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== - -mkdirp@^0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mlly@^1.4.2, mlly@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.6.1.tgz#0983067dc3366d6314fc5e12712884e6978d028f" - integrity sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA== - dependencies: - acorn "^8.11.3" - pathe "^1.1.2" - pkg-types "^1.0.3" - ufo "^1.3.2" - -moment@^2.30.1: - version "2.30.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - -mrmime@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4" - integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== - -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== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nano-seconds@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/nano-seconds/-/nano-seconds-1.2.2.tgz#e8d89971547a57083201ca121543aeeafeab4b02" - integrity sha512-s06EY41x1hM6BJE2HhIFRzvXuVUlZNd4761lduv+hjgtDDR7W4RzhShkap2wJcWMO6+CahR+49cCQJfFmgf7gw== - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -next-tick@1, next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -node-forge@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-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== - -node-stdlib-browser@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/node-stdlib-browser/-/node-stdlib-browser-1.2.0.tgz#5ddcfdf4063b88fb282979a1aa6ddab9728d5e4c" - integrity sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg== - dependencies: - assert "^2.0.0" - browser-resolve "^2.0.0" - browserify-zlib "^0.2.0" - buffer "^5.7.1" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - create-require "^1.1.1" - crypto-browserify "^3.11.0" - domain-browser "^4.22.0" - events "^3.0.0" - https-browserify "^1.0.0" - isomorphic-timers-promises "^1.0.1" - os-browserify "^0.3.0" - path-browserify "^1.0.1" - pkg-dir "^5.0.0" - process "^0.11.10" - punycode "^1.4.1" - querystring-es3 "^0.2.1" - readable-stream "^3.6.0" - stream-browserify "^3.0.0" - stream-http "^3.2.0" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.1" - url "^0.11.0" - util "^0.12.4" - vm-browserify "^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== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -npm-run-path@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" - integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== - dependencies: - path-key "^4.0.0" - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-is@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" - integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.fromentries@^2.0.7: - version "2.0.8" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" - integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.groupby@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" - integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - -object.values@^1.1.7: - version "1.2.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -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@^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.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - -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-limit@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-5.0.0.tgz#6946d5b7140b649b7a33a027d89b4c625b3a5985" - integrity sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== - dependencies: - yocto-queue "^1.0.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" - -pako@^2.0.4, pako@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" - integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -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-asn1@^5.0.0, parse-asn1@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06" - integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== - dependencies: - asn1.js "^4.10.1" - browserify-aes "^1.2.0" - evp_bytestokey "^1.0.3" - hash-base "~3.0" - pbkdf2 "^3.1.2" - safe-buffer "^5.2.1" - -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-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-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-scurry@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7" - integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.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== - -pathe@^1.1.1, pathe@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" - integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -pbkdf2@^3.0.3, pbkdf2@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -periscopic@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" - integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^3.0.0" - is-reference "^3.0.0" - -picocolors@^1, 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.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -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@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" - integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== - dependencies: - find-up "^5.0.0" - -pkg-types@^1.0.3: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.1.0.tgz#3ec1bf33379030fd0a34c227b6c650e8ea7ca271" - integrity sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA== - dependencies: - confbox "^0.1.7" - mlly "^1.6.1" - pathe "^1.1.2" - -playwright-core@1.43.1: - version "1.43.1" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.43.1.tgz#0eafef9994c69c02a1a3825a4343e56c99c03b02" - integrity sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg== - -playwright-core@1.47.2: - version "1.47.2" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.47.2.tgz#7858da9377fa32a08be46ba47d7523dbd9460a4e" - integrity sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ== - -playwright@1.43.1: - version "1.43.1" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.43.1.tgz#8ad08984ac66c9ef3d0db035be54dd7ec9f1c7d9" - integrity sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA== - dependencies: - playwright-core "1.43.1" - optionalDependencies: - fsevents "2.3.2" - -playwright@1.47.2: - version "1.47.2" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.47.2.tgz#155688aa06491ee21fb3e7555b748b525f86eb20" - integrity sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA== - dependencies: - playwright-core "1.47.2" - optionalDependencies: - fsevents "2.3.2" - -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -postcss-import@^15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" - integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-js@^4, postcss-js@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" - integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== - dependencies: - camelcase-css "^2.0.1" - -postcss-load-config@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" - integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== - dependencies: - lilconfig "^2.0.5" - yaml "^1.10.2" - -postcss-load-config@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" - integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== - dependencies: - lilconfig "^3.0.0" - yaml "^2.3.4" - -postcss-nested@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" - integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== - dependencies: - postcss-selector-parser "^6.0.11" - -postcss-safe-parser@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1" - integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== - -postcss-scss@^4.0.9: - version "4.0.9" - resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.9.tgz#a03c773cd4c9623cb04ce142a52afcec74806685" - integrity sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A== - -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16: - version "6.0.16" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04" - integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.4.23, postcss@^8.4.32, postcss@^8.4.38: - version "8.4.38" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -qs@^6.11.2: - version "6.12.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.1.tgz#39422111ca7cbdb70425541cba20c7d7b216599a" - integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== - dependencies: - side-channel "^1.0.6" - -querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - -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== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -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== - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readable-stream@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.5.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -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" - -reconnecting-websocket@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/reconnecting-websocket/-/reconnecting-websocket-4.4.0.tgz#3b0e5b96ef119e78a03135865b8bb0af1b948783" - integrity sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng== - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== - dependencies: - call-bind "^1.0.6" - define-properties "^1.2.1" - es-errors "^1.3.0" - set-function-name "^2.0.1" - -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-pkg-maps@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" - integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== - -resolve@^1.1.7, resolve@^1.17.0, resolve@^1.22.2, 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" - -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@^2.5.2: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -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" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rollup@^4.13.0: - version "4.16.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.16.4.tgz#fe328eb41293f20c9593a095ec23bdc4b5d93317" - integrity sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA== - dependencies: - "@types/estree" "1.0.5" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.16.4" - "@rollup/rollup-android-arm64" "4.16.4" - "@rollup/rollup-darwin-arm64" "4.16.4" - "@rollup/rollup-darwin-x64" "4.16.4" - "@rollup/rollup-linux-arm-gnueabihf" "4.16.4" - "@rollup/rollup-linux-arm-musleabihf" "4.16.4" - "@rollup/rollup-linux-arm64-gnu" "4.16.4" - "@rollup/rollup-linux-arm64-musl" "4.16.4" - "@rollup/rollup-linux-powerpc64le-gnu" "4.16.4" - "@rollup/rollup-linux-riscv64-gnu" "4.16.4" - "@rollup/rollup-linux-s390x-gnu" "4.16.4" - "@rollup/rollup-linux-x64-gnu" "4.16.4" - "@rollup/rollup-linux-x64-musl" "4.16.4" - "@rollup/rollup-win32-arm64-msvc" "4.16.4" - "@rollup/rollup-win32-ia32-msvc" "4.16.4" - "@rollup/rollup-win32-x64-msvc" "4.16.4" - 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" - -sade@^1.7.4, sade@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-regex "^1.1.4" - -sander@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/sander/-/sander-0.5.1.tgz#741e245e231f07cafb6fdf0f133adfa216a502ad" - integrity sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA== - dependencies: - es6-promise "^3.1.2" - graceful-fs "^4.1.3" - mkdirp "^0.5.1" - rimraf "^2.5.2" - -scrypt-js@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.0.0, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -set-cookie-parser@^2.6.0: - 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-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -set-function-name@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -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== - -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -siginfo@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" - integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== - -signal-exit@^4.0.1, signal-exit@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -sirv@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" - integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== - dependencies: - "@polka/url" "^1.0.0-next.24" - mrmime "^2.0.0" - totalist "^3.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -socket.io-client@^4.7.4: - version "4.7.5" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.5.tgz#919be76916989758bdc20eec63f7ee0ae45c05b7" - integrity sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.2" - engine.io-client "~6.5.2" - socket.io-parser "~4.2.4" - -socket.io-parser@~4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" - integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - -sorcery@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/sorcery/-/sorcery-0.11.0.tgz#310c80ee993433854bb55bb9aa4003acd147fca8" - integrity sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.14" - buffer-crc32 "^0.2.5" - minimist "^1.2.0" - sander "^0.5.0" - -source-map-js@^1.0.1, source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -stackback@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" - integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== - -std-env@^3.5.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" - integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-http@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -"string-width-cjs@npm: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" - -string-width@^4.1.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" - -string-width@^5.0.1, string-width@^5.1.2: - 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" - -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.0" - es-object-atoms "^1.0.0" - -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -"strip-ansi-cjs@npm: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@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1, strip-ansi@^7.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-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-literal@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-2.1.0.tgz#6d82ade5e2e74f5c7e8739b6c84692bd65f0bd2a" - integrity sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw== - dependencies: - js-tokens "^9.0.0" - -sucrase@^3.32.0: - version "3.35.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" - integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "^10.3.10" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - -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== - -svelte-carousel@^1.0.25: - version "1.0.25" - resolved "https://registry.yarnpkg.com/svelte-carousel/-/svelte-carousel-1.0.25.tgz#0a109455009f449242b17e3c213cbe7e9c37ef35" - integrity sha512-vR/AbGYwlh3fgWaB5PJg+iqZFvoVCJq4JWdmlXvPtdG9TLlKJWBcoiKlMZt3MnFF7AqNW46tOH/O+uVMWQzyWQ== - dependencies: - easy-reactive "1.0.4" - -svelte-check@^3.6.0: - version "3.6.9" - resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-3.6.9.tgz#05132d9a996aa8e12202a14644c03e3163267642" - integrity sha512-hDQrk3L0osX07djQyMiXocKysTLfusqi8AriNcCiQxhQR49/LonYolcUGMtZ0fbUR8HTR198Prrgf52WWU9wEg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.17" - chokidar "^3.4.1" - fast-glob "^3.2.7" - import-fresh "^3.2.1" - picocolors "^1.0.0" - sade "^1.7.4" - svelte-preprocess "^5.1.3" - typescript "^5.0.3" - -svelte-cleavejs@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/svelte-cleavejs/-/svelte-cleavejs-1.0.3.tgz#66b4c75214687e33982ccf5c3406fa2291d09a79" - integrity sha512-iAhaJFQobPMZ4QbALG/tD91ltGm5fqDEF9syq2LgHgCwwi5gDxPqTINym8dpv6Xa8xkTBVSEz+zt+DJi4KBbTA== - dependencies: - cleave.js "^1.6.0" - -"svelte-eslint-parser@>=0.35.0 <1.0.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/svelte-eslint-parser/-/svelte-eslint-parser-0.35.0.tgz#b4c5c0fa55b0548c4a7325dbeef04da4d2ab026c" - integrity sha512-CtbPseajW0gjwEvHiuzYJkPDjAcHz2FaHt540j6RVYrZgnE6xWkzUBodQ4I3nV+G5AS0Svt8K6aIA/CIU9xT2Q== - dependencies: - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - postcss "^8.4.38" - postcss-scss "^4.0.9" - -svelte-french-toast@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/svelte-french-toast/-/svelte-french-toast-1.2.0.tgz#bfe3696ee1e3cbdee2a300e0153dede7d6d802eb" - integrity sha512-5PW+6RFX3xQPbR44CngYAP1Sd9oCq9P2FOox4FZffzJuZI2mHOB7q5gJBVnOiLF5y3moVGZ7u2bYt7+yPAgcEQ== - dependencies: - svelte-writable-derived "^3.1.0" - -svelte-hmr@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.16.0.tgz#9f345b7d1c1662f1613747ed7e82507e376c1716" - integrity sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA== - -svelte-i18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/svelte-i18n/-/svelte-i18n-4.0.0.tgz#6d892802fb79540267b2250f233afc6d29aadd28" - integrity sha512-4vivjKZADUMRIhTs38JuBNy3unbnh9AFRxWFLxq62P4NHic+/BaIZZlAsvqsCdnp7IdJf5EoSiH6TNdItcjA6g== - dependencies: - cli-color "^2.0.3" - deepmerge "^4.2.2" - esbuild "^0.19.2" - estree-walker "^2" - intl-messageformat "^10.5.3" - sade "^1.8.1" - tiny-glob "^0.2.9" - -svelte-infinite-loading@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/svelte-infinite-loading/-/svelte-infinite-loading-1.4.0.tgz#26990cf18746e2354c43dc62cd42966dda496c12" - integrity sha512-Jo+f/yr/HmZQuIiiKKzAHVFXdAUWHW2RBbrcQTil8JVk1sCm/riy7KTJVzjBgQvHasrFQYKF84zvtc9/Y4lFYg== - -svelte-lightweight-charts@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/svelte-lightweight-charts/-/svelte-lightweight-charts-2.2.0.tgz#7e1ebedab7fa27443d678ce42e9e2ced31ed914d" - integrity sha512-LXdha4vfLMuOPc0Yyetu+DLSDJkPryGkufUQgpCkfguCscSQUcrLiI9MdqKwQk6Fkm6AZbg8SQ5qDIYxcyC+Dg== - -svelte-preprocess@^5.1.3: - version "5.1.4" - resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-5.1.4.tgz#14ada075c94bbd2b71c5ec70ff72f8ebe1c95b91" - integrity sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA== - dependencies: - "@types/pug" "^2.0.6" - detect-indent "^6.1.0" - magic-string "^0.30.5" - sorcery "^0.11.0" - strip-indent "^3.0.0" - -svelte-writable-derived@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/svelte-writable-derived/-/svelte-writable-derived-3.1.1.tgz#03222b32f8a66ea503e95b3cce8b94bec0810044" - integrity sha512-w4LR6/bYZEuCs7SGr+M54oipk/UQKtiMadyOhW0PTwAtJ/Ai12QS77sLngEcfBx2q4H8ZBQucc9ktSA5sUGZWw== - -svelte@^4.2.7: - version "4.2.15" - resolved "https://registry.yarnpkg.com/svelte/-/svelte-4.2.15.tgz#69f5ab9730c1d80109db2ee09427063dcf6b3512" - integrity sha512-j9KJSccHgLeRERPlhMKrCXpk2TqL2m5Z+k+OBTQhZOhIdCCd3WfqV+ylPWeipEwq17P/ekiSFWwrVQv93i3bsg== - dependencies: - "@ampproject/remapping" "^2.2.1" - "@jridgewell/sourcemap-codec" "^1.4.15" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/estree" "^1.0.1" - acorn "^8.9.0" - aria-query "^5.3.0" - axobject-query "^4.0.0" - code-red "^1.0.3" - css-tree "^2.3.1" - estree-walker "^3.0.3" - is-reference "^3.0.1" - locate-character "^3.0.0" - magic-string "^0.30.4" - periscopic "^3.1.0" - -tailwindcss@^3.4.0: - version "3.4.3" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.3.tgz#be48f5283df77dfced705451319a5dffb8621519" - integrity sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.5.3" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.3.0" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.21.0" - lilconfig "^2.1.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - resolve "^1.22.2" - sucrase "^3.32.0" - -technicalindicators@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/technicalindicators/-/technicalindicators-3.1.0.tgz#a275d36c6d478dda55e002deddcb42aa5cc33f4e" - integrity sha512-f16mOc+Y05hNy/of+UbGxhxQQmxUztCiluhsqC5QLUYz4WowUgKde9m6nIjK1Kay0wGHigT0IkOabpp0+22UfA== - dependencies: - "@types/node" "^6.0.96" - -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== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -timers-ext@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - -tiny-glob@^0.2.9: - version "0.2.9" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" - integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== - dependencies: - globalyzer "0.1.0" - globrex "^0.1.2" - -tinybench@^2.5.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.8.0.tgz#30e19ae3a27508ee18273ffed9ac7018949acd7b" - integrity sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw== - -tinypool@^0.8.3: - version "0.8.4" - resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.8.4.tgz#e217fe1270d941b39e98c625dcecebb1408c9aa8" - integrity sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ== - -tinyspy@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.2.1.tgz#117b2342f1f38a0dbdcc73a50a454883adf861d1" - integrity sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A== - -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" - -totalist@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" - integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== - -ts-api-utils@^1.0.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -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@^2.4.0, tslib@^2.4.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tty-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" - integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== - -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.0, 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@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-typed-array "^1.1.13" - -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" - -typescript@^5.0.3, typescript@^5.3.3: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== - -ufo@^1.3.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.3.tgz#3325bd3c977b6c6cd3160bf4ff52989adc9d3344" - integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== - -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== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url@^0.11.0: - version "0.11.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" - integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== - dependencies: - punycode "^1.4.1" - qs "^6.11.2" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.4, util@^0.12.5: - 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@^9.0.0, uuid@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -vite-node@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-1.5.0.tgz#7f74dadfecb15bca016c5ce5ef85e5cc4b82abf2" - integrity sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw== - dependencies: - cac "^6.7.14" - debug "^4.3.4" - pathe "^1.1.1" - picocolors "^1.0.0" - vite "^5.0.0" - -vite-plugin-node-polyfills@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.19.0.tgz#54338c47d29fa4c3a19fcd369001331290094c81" - integrity sha512-AhdVxAmVnd1doUlIRGUGV6ZRPfB9BvIwDF10oCOmL742IsvsFIAV4tSMxSfu5e0Px0QeJLgWVOSbtHIvblzqMw== - dependencies: - "@rollup/plugin-inject" "^5.0.5" - node-stdlib-browser "^1.2.0" - -vite@^5.0.0, vite@^5.0.13, vite@^5.0.3: - version "5.2.10" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.10.tgz#2ac927c91e99d51b376a5c73c0e4b059705f5bd7" - integrity sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw== - dependencies: - esbuild "^0.20.1" - postcss "^8.4.38" - rollup "^4.13.0" - optionalDependencies: - fsevents "~2.3.3" - -vitefu@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.5.tgz#c1b93c377fbdd3e5ddd69840ea3aa70b40d90969" - integrity sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q== - -vitest@^1.2.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-1.5.0.tgz#6ebb396bd358650011a9c96c18fa614b668365c1" - integrity sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw== - dependencies: - "@vitest/expect" "1.5.0" - "@vitest/runner" "1.5.0" - "@vitest/snapshot" "1.5.0" - "@vitest/spy" "1.5.0" - "@vitest/utils" "1.5.0" - acorn-walk "^8.3.2" - chai "^4.3.10" - debug "^4.3.4" - execa "^8.0.1" - local-pkg "^0.5.0" - magic-string "^0.30.5" - pathe "^1.1.1" - picocolors "^1.0.0" - std-env "^3.5.0" - strip-literal "^2.0.0" - tinybench "^2.5.1" - tinypool "^0.8.3" - vite "^5.0.0" - vite-node "1.5.0" - why-is-node-running "^2.2.2" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -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-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - -which@^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" - -why-is-node-running@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e" - integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== - dependencies: - siginfo "^2.0.0" - stackback "0.0.2" +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@alloc/quick-lru@npm:^5.2.0": + version: 5.2.0 + resolution: "@alloc/quick-lru@npm:5.2.0" + checksum: 10c0/7b878c48b9d25277d0e1a9b8b2f2312a314af806b4129dc902f2bc29ab09b58236e53964689feec187b28c80d2203aff03829754773a707a8a5987f1b7682d92 + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.1": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.15.4": + version: 7.28.4 + resolution: "@babel/runtime@npm:7.28.4" + checksum: 10c0/792ce7af9750fb9b93879cc9d1db175701c4689da890e6ced242ea0207c9da411ccf16dc04e689cc01158b28d7898c40d75598f4559109f761c12ce01e959bf7 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/aix-ppc64@npm:0.19.12" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/aix-ppc64@npm:0.21.5" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/aix-ppc64@npm:0.25.10" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm64@npm:0.19.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm64@npm:0.21.5" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/android-arm64@npm:0.25.10" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm@npm:0.19.12" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm@npm:0.21.5" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/android-arm@npm:0.25.10" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-x64@npm:0.19.12" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-x64@npm:0.21.5" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/android-x64@npm:0.25.10" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-arm64@npm:0.19.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-arm64@npm:0.21.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/darwin-arm64@npm:0.25.10" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-x64@npm:0.19.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-x64@npm:0.21.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/darwin-x64@npm:0.25.10" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-arm64@npm:0.19.12" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-arm64@npm:0.21.5" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/freebsd-arm64@npm:0.25.10" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-x64@npm:0.19.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-x64@npm:0.21.5" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/freebsd-x64@npm:0.25.10" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm64@npm:0.19.12" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm64@npm:0.21.5" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/linux-arm64@npm:0.25.10" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm@npm:0.19.12" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm@npm:0.21.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/linux-arm@npm:0.25.10" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ia32@npm:0.19.12" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ia32@npm:0.21.5" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/linux-ia32@npm:0.25.10" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-loong64@npm:0.19.12" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-loong64@npm:0.21.5" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/linux-loong64@npm:0.25.10" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-mips64el@npm:0.19.12" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-mips64el@npm:0.21.5" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/linux-mips64el@npm:0.25.10" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ppc64@npm:0.19.12" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ppc64@npm:0.21.5" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/linux-ppc64@npm:0.25.10" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-riscv64@npm:0.19.12" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-riscv64@npm:0.21.5" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/linux-riscv64@npm:0.25.10" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-s390x@npm:0.19.12" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-s390x@npm:0.21.5" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/linux-s390x@npm:0.25.10" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-x64@npm:0.19.12" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-x64@npm:0.21.5" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/linux-x64@npm:0.25.10" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/netbsd-arm64@npm:0.25.10" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/netbsd-x64@npm:0.19.12" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/netbsd-x64@npm:0.21.5" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/netbsd-x64@npm:0.25.10" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/openbsd-arm64@npm:0.25.10" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/openbsd-x64@npm:0.19.12" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/openbsd-x64@npm:0.21.5" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/openbsd-x64@npm:0.25.10" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openharmony-arm64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/openharmony-arm64@npm:0.25.10" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/sunos-x64@npm:0.19.12" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/sunos-x64@npm:0.21.5" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/sunos-x64@npm:0.25.10" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-arm64@npm:0.19.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-arm64@npm:0.21.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/win32-arm64@npm:0.25.10" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-ia32@npm:0.19.12" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-ia32@npm:0.21.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/win32-ia32@npm:0.25.10" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-x64@npm:0.19.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-x64@npm:0.21.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.25.10": + version: 0.25.10 + resolution: "@esbuild/win32-x64@npm:0.25.10" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.9.0 + resolution: "@eslint-community/eslint-utils@npm:4.9.0" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/8881e22d519326e7dba85ea915ac7a143367c805e6ba1374c987aa2fbdd09195cc51183d2da72c0e2ff388f84363e1b220fd0d19bef10c272c63455162176817 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^9.6.0" + globals: "npm:^13.19.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + languageName: node + linkType: hard + +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 + languageName: node + linkType: hard + +"@ethersproject/abi@npm:5.8.0, @ethersproject/abi@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/abi@npm:5.8.0" + dependencies: + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/6b759247a2f43ecc1548647d0447d08de1e946dfc7e71bfb014fa2f749c1b76b742a1d37394660ebab02ff8565674b3593fdfa011e16a5adcfc87ca4d85af39c + languageName: node + linkType: hard + +"@ethersproject/abstract-provider@npm:5.8.0, @ethersproject/abstract-provider@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/abstract-provider@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/networks": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/web": "npm:^5.8.0" + checksum: 10c0/9c183da1d037b272ff2b03002c3d801088d0534f88985f4983efc5f3ebd59b05f04bc05db97792fe29ddf87eeba3c73416e5699615f183126f85f877ea6c8637 + languageName: node + linkType: hard + +"@ethersproject/abstract-signer@npm:5.8.0, @ethersproject/abstract-signer@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/abstract-signer@npm:5.8.0" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + checksum: 10c0/143f32d7cb0bc7064e45674d4a9dffdb90d6171425d20e8de9dc95765be960534bae7246ead400e6f52346624b66569d9585d790eedd34b0b6b7f481ec331cc2 + languageName: node + linkType: hard + +"@ethersproject/address@npm:5.8.0, @ethersproject/address@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/address@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/rlp": "npm:^5.8.0" + checksum: 10c0/8bac8a4b567c75c1abc00eeca08c200de1a2d5cf76d595dc04fa4d7bff9ffa5530b2cdfc5e8656cfa8f6fa046de54be47620a092fb429830a8ddde410b9d50bc + languageName: node + linkType: hard + +"@ethersproject/base64@npm:5.8.0, @ethersproject/base64@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/base64@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + checksum: 10c0/60ae6d1e2367d70f4090b717852efe62075442ae59aeac9bb1054fe8306a2de8ef0b0561e7fb4666ecb1f8efa1655d683dd240675c3a25d6fa867245525a63ca + languageName: node + linkType: hard + +"@ethersproject/basex@npm:5.8.0, @ethersproject/basex@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/basex@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + checksum: 10c0/46a94ba9678fc458ab0bee4a0af9f659f1d3f5df5bb98485924fe8ecbd46eda37d81f95f882243d56f0f5efe051b0749163f5056e48ff836c5fba648754d4956 + languageName: node + linkType: hard + +"@ethersproject/bignumber@npm:5.8.0, @ethersproject/bignumber@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/bignumber@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + bn.js: "npm:^5.2.1" + checksum: 10c0/8e87fa96999d59d0ab4c814c79e3a8354d2ba914dfa78cf9ee688f53110473cec0df0db2aaf9d447e84ab2dbbfca39979abac4f2dac69fef4d080f4cc3e29613 + languageName: node + linkType: hard + +"@ethersproject/bytes@npm:5.8.0, @ethersproject/bytes@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/bytes@npm:5.8.0" + dependencies: + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/47ef798f3ab43b95dc74097b2c92365c919308ecabc3e34d9f8bf7f886fa4b99837ba5cf4dc8921baaaafe6899982f96b0e723b3fc49132c061f83d1ca3fed8b + languageName: node + linkType: hard + +"@ethersproject/constants@npm:5.8.0, @ethersproject/constants@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/constants@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + checksum: 10c0/374b3c2c6da24f8fef62e2316eae96faa462826c0774ef588cd7313ae7ddac8eb1bb85a28dad80123148be2ba0821c217c14ecfc18e2e683c72adc734b6248c9 + languageName: node + linkType: hard + +"@ethersproject/contracts@npm:5.8.0": + version: 5.8.0 + resolution: "@ethersproject/contracts@npm:5.8.0" + dependencies: + "@ethersproject/abi": "npm:^5.8.0" + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + checksum: 10c0/49961b92334c4f2fab5f4da8f3119e97c1dc39cc8695e3043931757968213f5e732c00bf896193cf0186dcb33101dcd6efb70690dee0dd2cfbfd3843f55485aa + languageName: node + linkType: hard + +"@ethersproject/hash@npm:5.8.0, @ethersproject/hash@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/hash@npm:5.8.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/base64": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/72a287d4d70fae716827587339ffb449b8c23ef8728db6f8a661f359f7cb1e5ffba5b693c55e09d4e7162bf56af4a0e98a334784e0706d98102d1a5786241537 + languageName: node + linkType: hard + +"@ethersproject/hdnode@npm:5.8.0, @ethersproject/hdnode@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/hdnode@npm:5.8.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/basex": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/pbkdf2": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/sha2": "npm:^5.8.0" + "@ethersproject/signing-key": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/wordlists": "npm:^5.8.0" + checksum: 10c0/da0ac7d60e76a76471be1f4f3bba3f28a24165dc3b63c6930a9ec24481e9f8b23936e5fc96363b3591cdfda4381d4623f25b06898b89bf5530b158cb5ea58fdd + languageName: node + linkType: hard + +"@ethersproject/json-wallets@npm:5.8.0, @ethersproject/json-wallets@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/json-wallets@npm:5.8.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/hdnode": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/pbkdf2": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/random": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + aes-js: "npm:3.0.0" + scrypt-js: "npm:3.0.1" + checksum: 10c0/6c5cac87bdfac9ac47bf6ac25168a85865dc02e398e97f83820568c568a8cb27cf13a3a5d482f71a2534c7d704a3faa46023bb7ebe8737872b376bec1b66c67b + languageName: node + linkType: hard + +"@ethersproject/keccak256@npm:5.8.0, @ethersproject/keccak256@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/keccak256@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + js-sha3: "npm:0.8.0" + checksum: 10c0/cd93ac6a5baf842313cde7de5e6e2c41feeea800db9e82955f96e7f3462d2ac6a6a29282b1c9e93b84ce7c91eec02347043c249fd037d6051214275bfc7fe99f + languageName: node + linkType: hard + +"@ethersproject/logger@npm:5.8.0, @ethersproject/logger@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/logger@npm:5.8.0" + checksum: 10c0/7f39f33e8f254ee681d4778bb71ce3c5de248e1547666f85c43bfbc1c18996c49a31f969f056b66d23012f2420f2d39173107284bc41eb98d0482ace1d06403e + languageName: node + linkType: hard + +"@ethersproject/networks@npm:5.8.0, @ethersproject/networks@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/networks@npm:5.8.0" + dependencies: + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/3f23bcc4c3843cc9b7e4b9f34df0a1f230b24dc87d51cdad84552302159a84d7899cd80c8a3d2cf8007b09ac373a5b10407007adde23d4c4881a4d6ee6bc4b9c + languageName: node + linkType: hard + +"@ethersproject/pbkdf2@npm:5.8.0, @ethersproject/pbkdf2@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/pbkdf2@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/sha2": "npm:^5.8.0" + checksum: 10c0/0397cf5370cfd568743c3e46ac431f1bd425239baa2691689f1430997d44d310cef5051ea9ee53fabe444f96aced8d6324b41da698e8d7021389dce36251e7e9 + languageName: node + linkType: hard + +"@ethersproject/properties@npm:5.8.0, @ethersproject/properties@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/properties@npm:5.8.0" + dependencies: + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/20256d7eed65478a38dabdea4c3980c6591b7b75f8c45089722b032ceb0e1cd3dd6dd60c436cfe259337e6909c28d99528c172d06fc74bbd61be8eb9e68be2e6 + languageName: node + linkType: hard + +"@ethersproject/providers@npm:5.8.0, @ethersproject/providers@npm:^5.6.8": + version: 5.8.0 + resolution: "@ethersproject/providers@npm:5.8.0" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/base64": "npm:^5.8.0" + "@ethersproject/basex": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/networks": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/random": "npm:^5.8.0" + "@ethersproject/rlp": "npm:^5.8.0" + "@ethersproject/sha2": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/web": "npm:^5.8.0" + bech32: "npm:1.1.4" + ws: "npm:8.18.0" + checksum: 10c0/893dba429443bbf0a3eadef850e772ad1c706cf17ae6ae48b73467a23b614a3f461e9004850e24439b5c73d30e9259bc983f0f90a911ba11af749e6384fd355a + languageName: node + linkType: hard + +"@ethersproject/random@npm:5.8.0, @ethersproject/random@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/random@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/e44c010715668fc29383141ae16cd2ec00c34a434d47e23338e740b8c97372515d95d3b809b969eab2055c19e92b985ca591d326fbb71270c26333215f9925d1 + languageName: node + linkType: hard + +"@ethersproject/rlp@npm:5.8.0, @ethersproject/rlp@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/rlp@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/db742ec9c1566d6441242cc2c2ae34c1e5304d48e1fe62bc4e53b1791f219df211e330d2de331e0e4f74482664e205c2e4220e76138bd71f1ec07884e7f5221b + languageName: node + linkType: hard + +"@ethersproject/sha2@npm:5.8.0, @ethersproject/sha2@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/sha2@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + hash.js: "npm:1.1.7" + checksum: 10c0/eab941907b7d40ee8436acaaedee32306ed4de2cb9ab37543bc89b1dd2a78f28c8da21efd848525fa1b04a78575be426cfca28f5392f4d28ce6c84e7c26a9421 + languageName: node + linkType: hard + +"@ethersproject/signing-key@npm:5.8.0, @ethersproject/signing-key@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/signing-key@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + bn.js: "npm:^5.2.1" + elliptic: "npm:6.6.1" + hash.js: "npm:1.1.7" + checksum: 10c0/a7ff6cd344b0609737a496b6d5b902cf5528ed5a7ce2c0db5e7b69dc491d1810d1d0cd51dddf9dc74dd562ab4961d76e982f1750359b834c53c202e85e4c8502 + languageName: node + linkType: hard + +"@ethersproject/solidity@npm:5.8.0": + version: 5.8.0 + resolution: "@ethersproject/solidity@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/sha2": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/5b5e0531bcec1d919cfbd261694694c8999ca5c379c1bb276ec779b896d299bb5db8ed7aa5652eb2c7605fe66455832b56ef123dec07f6ddef44231a7aa6fe6c + languageName: node + linkType: hard + +"@ethersproject/strings@npm:5.8.0, @ethersproject/strings@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/strings@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/6db39503c4be130110612b6d593a381c62657e41eebf4f553247ebe394fda32cdf74ff645daee7b7860d209fd02c7e909a95b1f39a2f001c662669b9dfe81d00 + languageName: node + linkType: hard + +"@ethersproject/transactions@npm:5.8.0, @ethersproject/transactions@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/transactions@npm:5.8.0" + dependencies: + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/rlp": "npm:^5.8.0" + "@ethersproject/signing-key": "npm:^5.8.0" + checksum: 10c0/dd32f090df5945313aafa8430ce76834479750d6655cb786c3b65ec841c94596b14d3c8c59ee93eed7b4f32f27d321a9b8b43bc6bb51f7e1c6694f82639ffe68 + languageName: node + linkType: hard + +"@ethersproject/units@npm:5.8.0": + version: 5.8.0 + resolution: "@ethersproject/units@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/5f92b8379a58024078fce6a4cbf7323cfd79bc41ef8f0a7bbf8be9c816ce18783140ab0d5c8d34ed615639aef7fc3a2ed255e92809e3558a510c4f0d49e27309 + languageName: node + linkType: hard + +"@ethersproject/wallet@npm:5.8.0": + version: 5.8.0 + resolution: "@ethersproject/wallet@npm:5.8.0" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/hdnode": "npm:^5.8.0" + "@ethersproject/json-wallets": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/random": "npm:^5.8.0" + "@ethersproject/signing-key": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/wordlists": "npm:^5.8.0" + checksum: 10c0/6da450872dda3d9008bad3ccf8467816a63429241e51c66627647123c0fe5625494c4f6c306e098eb8419cc5702ac017d41f5161af5ff670a41fe5d199883c09 + languageName: node + linkType: hard + +"@ethersproject/web@npm:5.8.0, @ethersproject/web@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/web@npm:5.8.0" + dependencies: + "@ethersproject/base64": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/e3cd547225638db6e94fcd890001c778d77adb0d4f11a7f8c447e961041678f3fbfaffe77a962c7aa3f6597504232442e7015f2335b1788508a108708a30308a + languageName: node + linkType: hard + +"@ethersproject/wordlists@npm:5.8.0, @ethersproject/wordlists@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/wordlists@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/e230a2ba075006bc3a2538e096003e43ef9ba453317f37a4d99638720487ec447c1fa61a592c80483f8a8ad6466511cf4cf5c49cf84464a1679999171ce311f4 + languageName: node + linkType: hard + +"@fontsource/bebas-neue@npm:^5.0.18": + version: 5.2.7 + resolution: "@fontsource/bebas-neue@npm:5.2.7" + checksum: 10c0/bc9bfaa9ddeb5df4bc4c1020773cf93206500725d2684c59f7d0dc11612dca1dff7adace615d10394a4bb0e59f5964fa5ae5938cfc2190257472a8177c26ac72 + languageName: node + linkType: hard + +"@fontsource/fira-mono@npm:^4.5.10": + version: 4.5.10 + resolution: "@fontsource/fira-mono@npm:4.5.10" + checksum: 10c0/8641de09916db27f9d5f0394030d239d062a9931c57db33cc9f63df26d15730e26f012c7b37686a5a964129a0d41162165cdde9983fecbbea5dc8e1502e70be7 + languageName: node + linkType: hard + +"@fontsource/inter@npm:^5.0.16": + version: 5.2.8 + resolution: "@fontsource/inter@npm:5.2.8" + checksum: 10c0/f737dd50005e4809887ba55ae0c9b7174216d6d14875d17a4fbb9a0ad75dec4265928b805a43fe16a23f14a878f1974a398bbfc84ad65c79fc4d4b9c3ea154e1 + languageName: node + linkType: hard + +"@formatjs/ecma402-abstract@npm:2.3.4": + version: 2.3.4 + resolution: "@formatjs/ecma402-abstract@npm:2.3.4" + dependencies: + "@formatjs/fast-memoize": "npm:2.2.7" + "@formatjs/intl-localematcher": "npm:0.6.1" + decimal.js: "npm:^10.4.3" + tslib: "npm:^2.8.0" + checksum: 10c0/2644bc618a34dc610ef9691281eeb45ae6175e6982cf19f1bd140672fc95c748747ce3c85b934649ea7e4a304f7ae0060625fd53d5df76f92ca3acf743e1eb0a + languageName: node + linkType: hard + +"@formatjs/fast-memoize@npm:2.2.7": + version: 2.2.7 + resolution: "@formatjs/fast-memoize@npm:2.2.7" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10c0/f5eabb0e4ab7162297df8252b4cfde194b23248120d9df267592eae2be2d2f7c4f670b5a70523d91b4ecdc35d40e65823bb8eeba8dd79fbf8601a972bf3b8866 + languageName: node + linkType: hard + +"@formatjs/icu-messageformat-parser@npm:2.11.2": + version: 2.11.2 + resolution: "@formatjs/icu-messageformat-parser@npm:2.11.2" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.3.4" + "@formatjs/icu-skeleton-parser": "npm:1.8.14" + tslib: "npm:^2.8.0" + checksum: 10c0/a121f2d2c6b36a1632ffd64c3545e2500c8ee0f7fee5db090318c035d635c430ab123faedb5d000f18d9423a7b55fbf670b84e2e2dd72cc307a38aed61d3b2e0 + languageName: node + linkType: hard + +"@formatjs/icu-skeleton-parser@npm:1.8.14": + version: 1.8.14 + resolution: "@formatjs/icu-skeleton-parser@npm:1.8.14" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.3.4" + tslib: "npm:^2.8.0" + checksum: 10c0/a1807ed6e90b8a2e8d0e5b5125e6f9a2c057d3cff377fb031d2333af7cfaa6de4ed3a15c23da7294d4c3557f8b28b2163246434a19720f26b5db0497d97e9b58 + languageName: node + linkType: hard + +"@formatjs/intl-localematcher@npm:0.6.1": + version: 0.6.1 + resolution: "@formatjs/intl-localematcher@npm:0.6.1" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10c0/bacbedd508519c1bb5ca2620e89dc38f12101be59439aa14aa472b222915b462cb7d679726640f6dcf52a05dd218b5aa27ccd60f2e5010bb96f1d4929848cde0 + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" + dependencies: + "@humanwhocodes/object-schema": "npm:^2.0.3" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^2.0.3": + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 + languageName: node + linkType: hard + +"@mixin.dev/mixin-node-sdk@npm:^6.1.1": + version: 6.1.1 + resolution: "@mixin.dev/mixin-node-sdk@npm:6.1.1" + dependencies: + "@ethersproject/providers": "npm:^5.6.8" + "@noble/curves": "npm:^1.2.0" + "@noble/hashes": "npm:^1.3.2" + "@types/qs": "npm:^6.9.10" + axios: "npm:1.6.2" + axios-retry: "npm:3.4.0" + curve25519-js: "npm:^0.0.4" + ethers: "npm:^5.6.8" + int64-buffer: "npm:^1.0.1" + is-retry-allowed: "npm:2.2.0" + lodash.merge: "npm:^4.6.2" + nano-seconds: "npm:^1.2.2" + node-forge: "npm:^1.3.1" + pako: "npm:^2.0.4" + qs: "npm:^6.11.2" + serialize-javascript: "npm:^6.0.0" + uuid: "npm:^9.0.0" + ws: "npm:^8.7.0" + checksum: 10c0/3fd6bf845be8d653e15a203a412128e6f3ebbabdccd66ad164f6765fb9251859af845aee56ba471026320d95d96a48779a455623f08385c478be839cf136cc8e + languageName: node + linkType: hard + +"@noble/curves@npm:^1.2.0": + version: 1.9.7 + resolution: "@noble/curves@npm:1.9.7" + dependencies: + "@noble/hashes": "npm:1.8.0" + checksum: 10c0/150014751ebe8ca06a8654ca2525108452ea9ee0be23430332769f06808cddabfe84f248b6dbf836916bc869c27c2092957eec62c7506d68a1ed0a624017c2a3 + languageName: node + linkType: hard + +"@noble/hashes@npm:1.8.0, @noble/hashes@npm:^1.3.2": + version: 1.8.0 + resolution: "@noble/hashes@npm:1.8.0" + checksum: 10c0/06a0b52c81a6fa7f04d67762e08b2c476a00285858150caeaaff4037356dd5e119f45b2a530f638b77a5eeca013168ec1b655db41bae3236cb2e9d511484fc77 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@playwright/experimental-ct-core@npm:1.55.1": + version: 1.55.1 + resolution: "@playwright/experimental-ct-core@npm:1.55.1" + dependencies: + playwright: "npm:1.55.1" + playwright-core: "npm:1.55.1" + vite: "npm:^6.3.4" + checksum: 10c0/79027434b537af3b860610fa65f2cce9b1711594d20eeb37ce31d8d4efb67e122ee3ee22f0738d424ed49c16f37cae48972ab56258186b0fc225be7c382b501b + languageName: node + linkType: hard + +"@playwright/experimental-ct-svelte@npm:^1.40.1": + version: 1.55.1 + resolution: "@playwright/experimental-ct-svelte@npm:1.55.1" + dependencies: + "@playwright/experimental-ct-core": "npm:1.55.1" + "@sveltejs/vite-plugin-svelte": "npm:^5.1.0" + bin: + playwright: cli.js + checksum: 10c0/8075ecd407cf4e5ffd674f8f932a356ed45ee94e90c43fb3dc569fa4a1549cc044df4f5c798694269cec3f77d8d476d0bda719ed10a218029973465f2565be30 + languageName: node + linkType: hard + +"@playwright/test@npm:^1.47.2": + version: 1.55.1 + resolution: "@playwright/test@npm:1.55.1" + dependencies: + playwright: "npm:1.55.1" + bin: + playwright: cli.js + checksum: 10c0/23fa213844bc594b03c0a907ef69da7e26a6c3295ee602b1567d26a473d30253468b832698779b02a304b71ae14aa0875645c526678227cc0675324dbf77e118 + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.29 + resolution: "@polka/url@npm:1.0.0-next.29" + checksum: 10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684 + languageName: node + linkType: hard + +"@rollup/plugin-inject@npm:^5.0.5": + version: 5.0.5 + resolution: "@rollup/plugin-inject@npm:5.0.5" + dependencies: + "@rollup/pluginutils": "npm:^5.0.1" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.3" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/22d10cf44fa56a6683d5ac4df24a9003379b3dcaae9897f5c30c844afc2ebca83cfaa5557f13a1399b1c8a0d312c3217bcacd508b7ebc4b2cbee401bd1ec8be2 + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^5.0.1": + version: 5.3.0 + resolution: "@rollup/pluginutils@npm:5.3.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^2.0.2" + picomatch: "npm:^4.0.2" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/001834bf62d7cf5bac424d2617c113f7f7d3b2bf3c1778cbcccb72cdc957b68989f8e7747c782c2b911f1dde8257f56f8ac1e779e29e74e638e3f1e2cac2bcd0 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.52.2" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-android-arm64@npm:4.52.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-darwin-arm64@npm:4.52.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-darwin-x64@npm:4.52.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-arm64@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.52.2" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-freebsd-x64@npm:4.52.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.52.2" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.52.2" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.52.2" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.52.2" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-gnu@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.52.2" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-gnu@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.52.2" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.52.2" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-musl@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.52.2" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.52.2" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.52.2" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.52.2" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-openharmony-arm64@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.52.2" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.52.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.52.2" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-gnu@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.52.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.52.2": + version: 4.52.2 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.52.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rtsao/scc@npm:^1.1.0": + version: 1.1.0 + resolution: "@rtsao/scc@npm:1.1.0" + checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@socket.io/component-emitter@npm:~3.1.0": + version: 3.1.2 + resolution: "@socket.io/component-emitter@npm:3.1.2" + checksum: 10c0/c4242bad66f67e6f7b712733d25b43cbb9e19a595c8701c3ad99cbeb5901555f78b095e24852f862fffb43e96f1d8552e62def885ca82ae1bb05da3668fd87d7 + languageName: node + linkType: hard + +"@standard-schema/spec@npm:^1.0.0": + version: 1.0.0 + resolution: "@standard-schema/spec@npm:1.0.0" + checksum: 10c0/a1ab9a8bdc09b5b47aa8365d0e0ec40cc2df6437be02853696a0e377321653b0d3ac6f079a8c67d5ddbe9821025584b1fb71d9cc041a6666a96f1fadf2ece15f + languageName: node + linkType: hard + +"@sveltejs/acorn-typescript@npm:^1.0.5": + version: 1.0.5 + resolution: "@sveltejs/acorn-typescript@npm:1.0.5" + peerDependencies: + acorn: ^8.9.0 + checksum: 10c0/5f5393ca3afc3d532baa3d418b51972ad26966ff352e13a46c6baa6d7099655acf2668be1d693e9daba2d3994a40b4c9a6b3157340e9cdfe2ffb52e4334630fd + languageName: node + linkType: hard + +"@sveltejs/adapter-auto@npm:^3.0.0": + version: 3.3.1 + resolution: "@sveltejs/adapter-auto@npm:3.3.1" + dependencies: + import-meta-resolve: "npm:^4.1.0" + peerDependencies: + "@sveltejs/kit": ^2.0.0 + checksum: 10c0/c7d75e82331fd26fb6ff312b242c248da9508e4388281c20b13359b20577fc9dc3e9151ab176bbbd55f3367f90a61552e508e69d203c3a2f97284f787fc0e3e5 + languageName: node + linkType: hard + +"@sveltejs/adapter-static@npm:^3.0.5": + version: 3.0.9 + resolution: "@sveltejs/adapter-static@npm:3.0.9" + peerDependencies: + "@sveltejs/kit": ^2.0.0 + checksum: 10c0/d8333728b683666e46ffb54c1ba9cac75abc42181e7271f48d2ef5374a109112c0e637bed4801f14da2398cc34f5092f925955b4a62b6c67fffd959d96582ef0 + languageName: node + linkType: hard + +"@sveltejs/kit@npm:^2.0.0": + version: 2.43.4 + resolution: "@sveltejs/kit@npm:2.43.4" + dependencies: + "@standard-schema/spec": "npm:^1.0.0" + "@sveltejs/acorn-typescript": "npm:^1.0.5" + "@types/cookie": "npm:^0.6.0" + acorn: "npm:^8.14.1" + cookie: "npm:^0.6.0" + devalue: "npm:^5.3.2" + esm-env: "npm:^1.2.2" + kleur: "npm:^4.1.5" + magic-string: "npm:^0.30.5" + mrmime: "npm:^2.0.0" + sade: "npm:^1.8.1" + set-cookie-parser: "npm:^2.6.0" + sirv: "npm:^3.0.0" + peerDependencies: + "@opentelemetry/api": ^1.0.0 + "@sveltejs/vite-plugin-svelte": ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 + peerDependenciesMeta: + "@opentelemetry/api": + optional: true + bin: + svelte-kit: svelte-kit.js + checksum: 10c0/719a3454e3d91ff179f803acd375a0a9a990d8a86c479508db1aee838f915c00d8959602a88df4d7badb85b15d1c9a1ac538d2260641a92dd70e776ac2516f41 + languageName: node + linkType: hard + +"@sveltejs/vite-plugin-svelte-inspector@npm:^2.1.0": + version: 2.1.0 + resolution: "@sveltejs/vite-plugin-svelte-inspector@npm:2.1.0" + dependencies: + debug: "npm:^4.3.4" + peerDependencies: + "@sveltejs/vite-plugin-svelte": ^3.0.0 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.0 + checksum: 10c0/da2d161691958bcb83d72634bd7d259fa07553af3cf71c2b9959feeccd6a9c58b08495cc5a936f6f0f5deb21aec4ad8b54ef8d9530510d2826548b4d19275b08 + languageName: node + linkType: hard + +"@sveltejs/vite-plugin-svelte-inspector@npm:^4.0.1": + version: 4.0.1 + resolution: "@sveltejs/vite-plugin-svelte-inspector@npm:4.0.1" + dependencies: + debug: "npm:^4.3.7" + peerDependencies: + "@sveltejs/vite-plugin-svelte": ^5.0.0 + svelte: ^5.0.0 + vite: ^6.0.0 + checksum: 10c0/03cc334346fcf291d3d0cba435bf752d15df91c0ac55dccdb5bf1372ae5a85fcb25f0f63ca3d1f7a25ebaa9e711fd1178d8a1fd6f495d57ac2eb327b855c0aea + languageName: node + linkType: hard + +"@sveltejs/vite-plugin-svelte@npm:^3.0.0": + version: 3.1.2 + resolution: "@sveltejs/vite-plugin-svelte@npm:3.1.2" + dependencies: + "@sveltejs/vite-plugin-svelte-inspector": "npm:^2.1.0" + debug: "npm:^4.3.4" + deepmerge: "npm:^4.3.1" + kleur: "npm:^4.1.5" + magic-string: "npm:^0.30.10" + svelte-hmr: "npm:^0.16.0" + vitefu: "npm:^0.2.5" + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.0 + checksum: 10c0/b15a82fc41ddd7983d7e130bedfc1c292c8a183677b78c5edd683d2f2df6cd2b1316e19958ab8c888031ca5941058f4475a16950ff1428ac7989c0b679987b36 + languageName: node + linkType: hard + +"@sveltejs/vite-plugin-svelte@npm:^5.1.0": + version: 5.1.1 + resolution: "@sveltejs/vite-plugin-svelte@npm:5.1.1" + dependencies: + "@sveltejs/vite-plugin-svelte-inspector": "npm:^4.0.1" + debug: "npm:^4.4.1" + deepmerge: "npm:^4.3.1" + kleur: "npm:^4.1.5" + magic-string: "npm:^0.30.17" + vitefu: "npm:^1.0.6" + peerDependencies: + svelte: ^5.0.0 + vite: ^6.0.0 + checksum: 10c0/a8ca872c07180ac0676d54243ba0bd47690ad07933abe5c02732bdd286b31a27370e1ed67f07b4de012aea0b7c8d12d67a3c48d0567b18af67dc5adebea6859a + languageName: node + linkType: hard + +"@types/cookie@npm:^0.6.0": + version: 0.6.0 + resolution: "@types/cookie@npm:0.6.0" + checksum: 10c0/5b326bd0188120fb32c0be086b141b1481fec9941b76ad537f9110e10d61ee2636beac145463319c71e4be67a17e85b81ca9e13ceb6e3bb63b93d16824d6c149 + languageName: node + linkType: hard + +"@types/estree@npm:1.0.8, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.1, @types/estree@npm:^1.0.6": + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.12": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac + languageName: node + linkType: hard + +"@types/node@npm:^20.11.0": + version: 20.19.17 + resolution: "@types/node@npm:20.19.17" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/ab4c5dd8bdeacb1c04c2724c75023eec0ac9469583b39032f5daaf56768a31ee6fa3a0bfcc597e4a3e74eb49744deeb9d5eb760f30e984e25088f6d895e0811d + languageName: node + linkType: hard + +"@types/node@npm:^6.0.96": + version: 6.14.13 + resolution: "@types/node@npm:6.14.13" + checksum: 10c0/e1e06d8bd429c6e4ea6a34f87a690c4a7b86be07f09da05524a3b6df6a5d163e442d82d97c67b199a8005c52d6c14c05380d4592a55df7d787a6e51a19a0439e + languageName: node + linkType: hard + +"@types/pug@npm:^2.0.6": + version: 2.0.10 + resolution: "@types/pug@npm:2.0.10" + checksum: 10c0/6fac37fd84ad4bcf755061caad274db70591699739070bc30c5c1b5f0aecf98646dc29ec8da11cfca82a2b7cc57d949a3ae50aba2f88bf098751ebdd25d9aaea + languageName: node + linkType: hard + +"@types/qs@npm:^6.9.10": + version: 6.14.0 + resolution: "@types/qs@npm:6.14.0" + checksum: 10c0/5b3036df6e507483869cdb3858201b2e0b64b4793dc4974f188caa5b5732f2333ab9db45c08157975054d3b070788b35088b4bc60257ae263885016ee2131310 + languageName: node + linkType: hard + +"@types/semver@npm:^7.5.0": + version: 7.7.1 + resolution: "@types/semver@npm:7.7.1" + checksum: 10c0/c938aef3bf79a73f0f3f6037c16e2e759ff40c54122ddf0b2583703393d8d3127130823facb880e694caa324eb6845628186aac1997ee8b31dc2d18fafe26268 + languageName: node + linkType: hard + +"@types/uuid@npm:^9.0.8": + version: 9.0.8 + resolution: "@types/uuid@npm:9.0.8" + checksum: 10c0/b411b93054cb1d4361919579ef3508a1f12bf15b5fdd97337d3d351bece6c921b52b6daeef89b62340fd73fd60da407878432a1af777f40648cbe53a01723489 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^6.19.1": + version: 6.21.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.21.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.5.1" + "@typescript-eslint/scope-manager": "npm:6.21.0" + "@typescript-eslint/type-utils": "npm:6.21.0" + "@typescript-eslint/utils": "npm:6.21.0" + "@typescript-eslint/visitor-keys": "npm:6.21.0" + debug: "npm:^4.3.4" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.4" + natural-compare: "npm:^1.4.0" + semver: "npm:^7.5.4" + ts-api-utils: "npm:^1.0.1" + peerDependencies: + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/f911a79ee64d642f814a3b6cdb0d324b5f45d9ef955c5033e78903f626b7239b4aa773e464a38c3e667519066169d983538f2bf8e5d00228af587c9d438fb344 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^6.19.1, @typescript-eslint/parser@npm:^6.4.0": + version: 6.21.0 + resolution: "@typescript-eslint/parser@npm:6.21.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:6.21.0" + "@typescript-eslint/types": "npm:6.21.0" + "@typescript-eslint/typescript-estree": "npm:6.21.0" + "@typescript-eslint/visitor-keys": "npm:6.21.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/a8f99820679decd0d115c0af61903fb1de3b1b5bec412dc72b67670bf636de77ab07f2a68ee65d6da7976039bbf636907f9d5ca546db3f0b98a31ffbc225bc7d + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/scope-manager@npm:6.21.0" + dependencies: + "@typescript-eslint/types": "npm:6.21.0" + "@typescript-eslint/visitor-keys": "npm:6.21.0" + checksum: 10c0/eaf868938d811cbbea33e97e44ba7050d2b6892202cea6a9622c486b85ab1cf801979edf78036179a8ba4ac26f1dfdf7fcc83a68c1ff66be0b3a8e9a9989b526 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/type-utils@npm:6.21.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:6.21.0" + "@typescript-eslint/utils": "npm:6.21.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.0.1" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/7409c97d1c4a4386b488962739c4f1b5b04dc60cf51f8cd88e6b12541f84d84c6b8b67e491a147a2c95f9ec486539bf4519fb9d418411aef6537b9c156468117 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/types@npm:6.21.0" + checksum: 10c0/020631d3223bbcff8a0da3efbdf058220a8f48a3de221563996ad1dcc30d6c08dadc3f7608cc08830d21c0d565efd2db19b557b9528921c78aabb605eef2d74d + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.21.0" + dependencies: + "@typescript-eslint/types": "npm:6.21.0" + "@typescript-eslint/visitor-keys": "npm:6.21.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.4" + ts-api-utils: "npm:^1.0.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/af1438c60f080045ebb330155a8c9bb90db345d5069cdd5d01b67de502abb7449d6c75500519df829f913a6b3f490ade3e8215279b6bdc63d0fb0ae61034df5f + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/utils@npm:6.21.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@types/json-schema": "npm:^7.0.12" + "@types/semver": "npm:^7.5.0" + "@typescript-eslint/scope-manager": "npm:6.21.0" + "@typescript-eslint/types": "npm:6.21.0" + "@typescript-eslint/typescript-estree": "npm:6.21.0" + semver: "npm:^7.5.4" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + checksum: 10c0/ab2df3833b2582d4e5467a484d08942b4f2f7208f8e09d67de510008eb8001a9b7460f2f9ba11c12086fd3cdcac0c626761c7995c2c6b5657d5fa6b82030a32d + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.21.0" + dependencies: + "@typescript-eslint/types": "npm:6.21.0" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/7395f69739cfa1cb83c1fb2fad30afa2a814756367302fb4facd5893eff66abc807e8d8f63eba94ed3b0fe0c1c996ac9a1680bcbf0f83717acedc3f2bb724fbf + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a + languageName: node + linkType: hard + +"@vitest/expect@npm:1.6.1": + version: 1.6.1 + resolution: "@vitest/expect@npm:1.6.1" + dependencies: + "@vitest/spy": "npm:1.6.1" + "@vitest/utils": "npm:1.6.1" + chai: "npm:^4.3.10" + checksum: 10c0/278164b2a32a7019b443444f21111c5e32e4cadee026cae047ae2a3b347d99dca1d1fb7b79509c88b67dc3db19fa9a16265b7d7a8377485f7e37f7851e44495a + languageName: node + linkType: hard + +"@vitest/runner@npm:1.6.1": + version: 1.6.1 + resolution: "@vitest/runner@npm:1.6.1" + dependencies: + "@vitest/utils": "npm:1.6.1" + p-limit: "npm:^5.0.0" + pathe: "npm:^1.1.1" + checksum: 10c0/36333f1a596c4ad85d42c6126cc32959c984d584ef28d366d366fa3672678c1a0f5e5c2e8717a36675b6620b57e8830f765d6712d1687f163ed0a8ebf23c87db + languageName: node + linkType: hard + +"@vitest/snapshot@npm:1.6.1": + version: 1.6.1 + resolution: "@vitest/snapshot@npm:1.6.1" + dependencies: + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + checksum: 10c0/68bbc3132c195ec37376469e4b183fc408e0aeedd827dffcc899aac378e9ea324825f0873062786e18f00e3da9dd8a93c9bb871c07471ee483e8df963cb272eb + languageName: node + linkType: hard + +"@vitest/spy@npm:1.6.1": + version: 1.6.1 + resolution: "@vitest/spy@npm:1.6.1" + dependencies: + tinyspy: "npm:^2.2.0" + checksum: 10c0/5207ec0e7882819f0e0811293ae6d14163e26927e781bb4de7d40b3bd99c1fae656934c437bb7a30443a3e7e736c5bccb037bbf4436dbbc83d29e65247888885 + languageName: node + linkType: hard + +"@vitest/utils@npm:1.6.1": + version: 1.6.1 + resolution: "@vitest/utils@npm:1.6.1" + dependencies: + diff-sequences: "npm:^29.6.3" + estree-walker: "npm:^3.0.3" + loupe: "npm:^2.3.7" + pretty-format: "npm:^29.7.0" + checksum: 10c0/0d4c619e5688cbc22a60c412719c6baa40376b7671bdbdc3072552f5c5a5ee5d24a96ea328b054018debd49e0626a5e3db672921b2c6b5b17b9a52edd296806a + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.3.2": + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 + languageName: node + linkType: hard + +"acorn@npm:^8.10.0, acorn@npm:^8.11.0, acorn@npm:^8.14.1, acorn@npm:^8.15.0, acorn@npm:^8.9.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" + bin: + acorn: bin/acorn + checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec + languageName: node + linkType: hard + +"aes-js@npm:3.0.0": + version: 3.0.0 + resolution: "aes-js@npm:3.0.0" + checksum: 10c0/87dd5b2363534b867db7cef8bc85a90c355460783744877b2db7c8be09740aac5750714f9e00902822f692662bda74cdf40e03fbb5214ffec75c2666666288b8 + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.3 + resolution: "ansi-styles@npm:6.2.3" + checksum: 10c0/23b8a4ce14e18fb854693b95351e286b771d23d8844057ed2e7d083cd3e708376c3323707ec6a24365f7d7eda3ca00327fe04092e29e551499ec4c8b7bfac868 + languageName: node + linkType: hard + +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"aria-query@npm:^5.3.0": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e + languageName: node + linkType: hard + +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + is-array-buffer: "npm:^3.0.5" + checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d + languageName: node + linkType: hard + +"array-includes@npm:^3.1.9": + version: 3.1.9 + resolution: "array-includes@npm:3.1.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.24.0" + es-object-atoms: "npm:^1.1.1" + get-intrinsic: "npm:^1.3.0" + is-string: "npm:^1.1.1" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/0235fa69078abeac05ac4250699c44996bc6f774a9cbe45db48674ce6bd142f09b327d31482ff75cf03344db4ea03eae23edb862d59378b484b47ed842574856 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"array.prototype.findlastindex@npm:^1.2.6": + version: 1.2.6 + resolution: "array.prototype.findlastindex@npm:1.2.6" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + es-shim-unscopables: "npm:^1.1.0" + checksum: 10c0/82559310d2e57ec5f8fc53d7df420e3abf0ba497935de0a5570586035478ba7d07618cb18e2d4ada2da514c8fb98a034aaf5c06caa0a57e2f7f4c4adedef5956 + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flat@npm:1.3.3" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/d90e04dfbc43bb96b3d2248576753d1fb2298d2d972e29ca7ad5ec621f0d9e16ff8074dae647eac4f31f4fb7d3f561a7ac005fb01a71f51705a13b5af06a7d8a + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54 + languageName: node + linkType: hard + +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + is-array-buffer: "npm:^3.0.4" + checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06 + languageName: node + linkType: hard + +"asn1.js@npm:^4.10.1": + version: 4.10.1 + resolution: "asn1.js@npm:4.10.1" + dependencies: + bn.js: "npm:^4.0.0" + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/afa7f3ab9e31566c80175a75b182e5dba50589dcc738aa485be42bdd787e2a07246a4b034d481861123cbe646a7656f318f4f1cad2e9e5e808a210d5d6feaa88 + languageName: node + linkType: hard + +"assert@npm:^2.0.0": + version: 2.1.0 + resolution: "assert@npm:2.1.0" + dependencies: + call-bind: "npm:^1.0.2" + is-nan: "npm:^1.3.2" + object-is: "npm:^1.1.5" + object.assign: "npm:^4.1.4" + util: "npm:^0.12.5" + checksum: 10c0/7271a5da883c256a1fa690677bf1dd9d6aa882139f2bed1cd15da4f9e7459683e1da8e32a203d6cc6767e5e0f730c77a9532a87b896b4b0af0dd535f668775f0 + languageName: node + linkType: hard + +"assertion-error@npm:^1.1.0": + version: 1.1.0 + resolution: "assertion-error@npm:1.1.0" + checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b + languageName: node + linkType: hard + +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"autoprefixer@npm:^10.4.16": + version: 10.4.21 + resolution: "autoprefixer@npm:10.4.21" + dependencies: + browserslist: "npm:^4.24.4" + caniuse-lite: "npm:^1.0.30001702" + fraction.js: "npm:^4.3.7" + normalize-range: "npm:^0.1.2" + picocolors: "npm:^1.1.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 10c0/de5b71d26d0baff4bbfb3d59f7cf7114a6030c9eeb66167acf49a32c5b61c68e308f1e0f869d92334436a221035d08b51cd1b2f2c4689b8d955149423c16d4d4 + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: "npm:^1.0.0" + checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 + languageName: node + linkType: hard + +"axios-retry@npm:3.4.0": + version: 3.4.0 + resolution: "axios-retry@npm:3.4.0" + dependencies: + "@babel/runtime": "npm:^7.15.4" + is-retry-allowed: "npm:^2.2.0" + checksum: 10c0/e7b0a59f9128947627fa6393bd120c5c3ff0085681eed5e6e31671b1625cc4d98894f9f5af1499a2d1279f1958a63360eab4088615b7790bf8f643edbff5b6a7 + languageName: node + linkType: hard + +"axios@npm:1.6.2": + version: 1.6.2 + resolution: "axios@npm:1.6.2" + dependencies: + follow-redirects: "npm:^1.15.0" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/9b77e030e85e4f9cbcba7bb52fbff67d6ce906c92d213e0bd932346a50140faf83733bf786f55bd58301bd92f9973885c7b87d6348023e10f7eaf286d0791a1d + languageName: node + linkType: hard + +"axios@npm:^1.6.3": + version: 1.12.2 + resolution: "axios@npm:1.12.2" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.4" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/80b063e318cf05cd33a4d991cea0162f3573481946f9129efb7766f38fde4c061c34f41a93a9f9521f02b7c9565ccbc197c099b0186543ac84a24580017adfed + languageName: node + linkType: hard + +"axobject-query@npm:^4.0.0": + version: 4.1.0 + resolution: "axobject-query@npm:4.1.0" + checksum: 10c0/c470e4f95008f232eadd755b018cb55f16c03ccf39c027b941cd8820ac6b68707ce5d7368a46756db4256fbc91bb4ead368f84f7fb034b2b7932f082f6dc0775 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base-x@npm:^5.0.0": + version: 5.0.1 + resolution: "base-x@npm:5.0.1" + checksum: 10c0/4ab6b02262b4fd499b147656f63ce7328bd5f895450401ce58a2f9e87828aea507cf0c320a6d8725389f86e8a48397562661c0bca28ef3276a22821b30f7a713 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"baseline-browser-mapping@npm:^2.8.3": + version: 2.8.6 + resolution: "baseline-browser-mapping@npm:2.8.6" + bin: + baseline-browser-mapping: dist/cli.js + checksum: 10c0/ea628db5048d1e5c0251d4783e0496f5ce8de7a0e20ea29c8876611cb0acf58ffc76bf6561786c6388db22f130646e3ecb91eebc1c03954552a21d38fa38320f + languageName: node + linkType: hard + +"bech32@npm:1.1.4": + version: 1.1.4 + resolution: "bech32@npm:1.1.4" + checksum: 10c0/5f62ca47b8df99ace9c0e0d8deb36a919d91bf40066700aaa9920a45f86bb10eb56d537d559416fd8703aa0fb60dddb642e58f049701e7291df678b2033e5ee5 + languageName: node + linkType: hard + +"bignumber.js@npm:^9.1.2": + version: 9.3.1 + resolution: "bignumber.js@npm:9.3.1" + checksum: 10c0/61342ba5fe1c10887f0ecf5be02ff6709271481aff48631f86b4d37d55a99b87ce441cfd54df3d16d10ee07ceab7e272fc0be430c657ffafbbbf7b7d631efb75 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": + version: 4.12.2 + resolution: "bn.js@npm:4.12.2" + checksum: 10c0/09a249faa416a9a1ce68b5f5ec8bbca87fe54e5dd4ef8b1cc8a4969147b80035592bddcb1e9cc814c3ba79e573503d5c5178664b722b509fb36d93620dba9b57 + languageName: node + linkType: hard + +"bn.js@npm:^5.2.1, bn.js@npm:^5.2.2": + version: 5.2.2 + resolution: "bn.js@npm:5.2.2" + checksum: 10c0/cb97827d476aab1a0194df33cd84624952480d92da46e6b4a19c32964aa01553a4a613502396712704da2ec8f831cf98d02e74ca03398404bd78a037ba93f2ab + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.2 + resolution: "brace-expansion@npm:2.0.2" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/6d117a4c793488af86b83172deb6af143e94c17bc53b0b3cec259733923b4ca84679d506ac261f4ba3c7ed37c46018e2ff442f9ce453af8643ecd64f4a54e6cf + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"brorand@npm:^1.0.1, brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 + languageName: node + linkType: hard + +"browser-resolve@npm:^2.0.0": + version: 2.0.0 + resolution: "browser-resolve@npm:2.0.0" + dependencies: + resolve: "npm:^1.17.0" + checksum: 10c0/06c43adf3cb1939825ab9a4ac355b23272820ee421a20d04f62e0dabd9ea305e497b97f3ac027f87d53c366483aafe8673bbe1aaa5e41cd69eeafa65ac5fda6e + languageName: node + linkType: hard + +"browserify-aes@npm:^1.0.4, browserify-aes@npm:^1.2.0": + version: 1.2.0 + resolution: "browserify-aes@npm:1.2.0" + dependencies: + buffer-xor: "npm:^1.0.3" + cipher-base: "npm:^1.0.0" + create-hash: "npm:^1.1.0" + evp_bytestokey: "npm:^1.0.3" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/967f2ae60d610b7b252a4cbb55a7a3331c78293c94b4dd9c264d384ca93354c089b3af9c0dd023534efdc74ffbc82510f7ad4399cf82bc37bc07052eea485f18 + languageName: node + linkType: hard + +"browserify-cipher@npm:^1.0.1": + version: 1.0.1 + resolution: "browserify-cipher@npm:1.0.1" + dependencies: + browserify-aes: "npm:^1.0.4" + browserify-des: "npm:^1.0.0" + evp_bytestokey: "npm:^1.0.0" + checksum: 10c0/aa256dcb42bc53a67168bbc94ab85d243b0a3b56109dee3b51230b7d010d9b78985ffc1fb36e145c6e4db151f888076c1cfc207baf1525d3e375cbe8187fe27d + languageName: node + linkType: hard + +"browserify-des@npm:^1.0.0": + version: 1.0.2 + resolution: "browserify-des@npm:1.0.2" + dependencies: + cipher-base: "npm:^1.0.1" + des.js: "npm:^1.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/943eb5d4045eff80a6cde5be4e5fbb1f2d5002126b5a4789c3c1aae3cdddb1eb92b00fb92277f512288e5c6af330730b1dbabcf7ce0923e749e151fcee5a074d + languageName: node + linkType: hard + +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.1": + version: 4.1.1 + resolution: "browserify-rsa@npm:4.1.1" + dependencies: + bn.js: "npm:^5.2.1" + randombytes: "npm:^2.1.0" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/b650ee1192e3d7f3d779edc06dd96ed8720362e72ac310c367b9d7fe35f7e8dbb983c1829142b2b3215458be8bf17c38adc7224920843024ed8cf39e19c513c0 + languageName: node + linkType: hard + +"browserify-sign@npm:^4.2.3": + version: 4.2.5 + resolution: "browserify-sign@npm:4.2.5" + dependencies: + bn.js: "npm:^5.2.2" + browserify-rsa: "npm:^4.1.1" + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + elliptic: "npm:^6.6.1" + inherits: "npm:^2.0.4" + parse-asn1: "npm:^5.1.9" + readable-stream: "npm:^2.3.8" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/6192f9696934bbba58932d098face34c2ab9cac09feed826618b86b8c00a897dab7324cd9aa7d6cb1597064f197264ad72fa5418d4d52bf3c8f9b9e0e124655e + languageName: node + linkType: hard + +"browserify-zlib@npm:^0.2.0": + version: 0.2.0 + resolution: "browserify-zlib@npm:0.2.0" + dependencies: + pako: "npm:~1.0.5" + checksum: 10c0/9ab10b6dc732c6c5ec8ebcbe5cb7fe1467f97402c9b2140113f47b5f187b9438f93a8e065d8baf8b929323c18324fbf1105af479ee86d9d36cab7d7ef3424ad9 + languageName: node + linkType: hard + +"browserslist@npm:^4.24.4": + version: 4.26.2 + resolution: "browserslist@npm:4.26.2" + dependencies: + baseline-browser-mapping: "npm:^2.8.3" + caniuse-lite: "npm:^1.0.30001741" + electron-to-chromium: "npm:^1.5.218" + node-releases: "npm:^2.0.21" + update-browserslist-db: "npm:^1.1.3" + bin: + browserslist: cli.js + checksum: 10c0/1146339dad33fda77786b11ea07f1c40c48899edd897d73a9114ee0dbb1ee6475bb4abda263a678c104508bdca8e66760ff8e10be1947d3e20d34bae01d8b89b + languageName: node + linkType: hard + +"bs58@npm:^6.0.0": + version: 6.0.0 + resolution: "bs58@npm:6.0.0" + dependencies: + base-x: "npm:^5.0.0" + checksum: 10c0/61910839746625ee4f69369f80e2634e2123726caaa1da6b3bcefcf7efcd9bdca86603360fed9664ffdabe0038c51e542c02581c72ca8d44f60329fe1a6bc8f4 + languageName: node + linkType: hard + +"buffer-crc32@npm:^1.0.0": + version: 1.0.0 + resolution: "buffer-crc32@npm:1.0.0" + checksum: 10c0/8b86e161cee4bb48d5fa622cbae4c18f25e4857e5203b89e23de59e627ab26beb82d9d7999f2b8de02580165f61f83f997beaf02980cdf06affd175b651921ab + languageName: node + linkType: hard + +"buffer-xor@npm:^1.0.3": + version: 1.0.3 + resolution: "buffer-xor@npm:1.0.3" + checksum: 10c0/fd269d0e0bf71ecac3146187cfc79edc9dbb054e2ee69b4d97dfb857c6d997c33de391696d04bdd669272751fa48e7872a22f3a6c7b07d6c0bc31dbe02a4075c + languageName: node + linkType: hard + +"buffer@npm:^5.7.1": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.1.13" + checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e + languageName: node + linkType: hard + +"builtin-modules@npm:^3.3.0": + version: 3.3.0 + resolution: "builtin-modules@npm:3.3.0" + checksum: 10c0/2cb3448b4f7306dc853632a4fcddc95e8d4e4b9868c139400027b71938fc6806d4ff44007deffb362ac85724bd40c2c6452fb6a0aa4531650eeddb98d8e5ee8a + languageName: node + linkType: hard + +"builtin-status-codes@npm:^3.0.0": + version: 3.0.0 + resolution: "builtin-status-codes@npm:3.0.0" + checksum: 10c0/c37bbba11a34c4431e56bd681b175512e99147defbe2358318d8152b3a01df7bf25e0305873947e5b350073d5ef41a364a22b37e48f1fb6d2fe6d5286a0f348c + languageName: node + linkType: hard + +"builtins@npm:^5.0.1": + version: 5.1.0 + resolution: "builtins@npm:5.1.0" + dependencies: + semver: "npm:^7.0.0" + checksum: 10c0/3c32fe5bd7ed4ff7dbd6fb14bcb9d7eaa7e967327f1899cd336f8625d3f46fceead0a53528f1e332aeaee757034ebb307cb2f1a37af2b86a3c5ad4845d01c0c8 + languageName: node + linkType: hard + +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.2" + checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camelcase-css@npm:^2.0.1": + version: 2.0.1 + resolution: "camelcase-css@npm:2.0.1" + checksum: 10c0/1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001741": + version: 1.0.30001745 + resolution: "caniuse-lite@npm:1.0.30001745" + checksum: 10c0/646ca4b57baaa7a835cf7204c8a257490ee8e36364c04638212e3750c5e8ef45c39f352307e6205114487bcc179d42f5216f6dac146641b16a60b20b29d6f2a6 + languageName: node + linkType: hard + +"chai@npm:^4.3.10": + version: 4.5.0 + resolution: "chai@npm:4.5.0" + dependencies: + assertion-error: "npm:^1.1.0" + check-error: "npm:^1.0.3" + deep-eql: "npm:^4.1.3" + get-func-name: "npm:^2.0.2" + loupe: "npm:^2.3.6" + pathval: "npm:^1.1.1" + type-detect: "npm:^4.1.0" + checksum: 10c0/b8cb596bd1aece1aec659e41a6e479290c7d9bee5b3ad63d2898ad230064e5b47889a3bc367b20100a0853b62e026e2dc514acf25a3c9385f936aa3614d4ab4d + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"check-error@npm:^1.0.3": + version: 1.0.3 + resolution: "check-error@npm:1.0.3" + dependencies: + get-func-name: "npm:^2.0.2" + checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 + languageName: node + linkType: hard + +"chokidar@npm:^3.4.1, chokidar@npm:^3.6.0": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.7 + resolution: "cipher-base@npm:1.0.7" + dependencies: + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + to-buffer: "npm:^1.2.2" + checksum: 10c0/53c5046a9d9b60c586479b8f13fde263c3f905e13f11e8e04c7a311ce399c91d9c3ec96642332e0de077d356e1014ee12bba96f74fbaad0de750f49122258836 + languageName: node + linkType: hard + +"cleave.js@npm:^1.6.0": + version: 1.6.0 + resolution: "cleave.js@npm:1.6.0" + checksum: 10c0/4fcaa838d75c3f8b4fcec737af2a6118e0bd227fe80eaaf6d639d62551be7046db062ee5b26b9327b666ab5ce96f2e2708249e9ae75bd6af7f6536887eb84b53 + languageName: node + linkType: hard + +"cli-color@npm:^2.0.3": + version: 2.0.4 + resolution: "cli-color@npm:2.0.4" + dependencies: + d: "npm:^1.0.1" + es5-ext: "npm:^0.10.64" + es6-iterator: "npm:^2.0.3" + memoizee: "npm:^0.4.15" + timers-ext: "npm:^0.1.7" + checksum: 10c0/49a0078fa3517cdfb3ad919a05ab2fe7352d9c9f0617937c38fc6245a38101632d9a23f40a53b2818773d2694b8ae814ff760801a702a26d76b297990ce8d399 + languageName: node + linkType: hard + +"clsx@npm:^2.0.0": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 + languageName: node + linkType: hard + +"code-red@npm:^1.0.3": + version: 1.0.4 + resolution: "code-red@npm:1.0.4" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + "@types/estree": "npm:^1.0.1" + acorn: "npm:^8.10.0" + estree-walker: "npm:^3.0.3" + periscopic: "npm:^3.1.0" + checksum: 10c0/1309f062369ae520c422d7f45b93190faea2cbc7e3fe3375918f36bb394030d0936d940601426564c30abc71b8aa8e6d1505cccd67a8620183fb01c84bcb7304 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: 10c0/fc2c68d97cb54d885b10b63e45bd8da83a8a71459d3ecf1825143dd4c7f9f1b696b3283e07d9d12a144c1301c2ebc7842380bdf0014e55acc4ae1c9550102418 + languageName: node + linkType: hard + +"console-browserify@npm:^1.1.0": + version: 1.2.0 + resolution: "console-browserify@npm:1.2.0" + checksum: 10c0/89b99a53b7d6cee54e1e64fa6b1f7ac24b844b4019c5d39db298637e55c1f4ffa5c165457ad984864de1379df2c8e1886cbbdac85d9dbb6876a9f26c3106f226 + languageName: node + linkType: hard + +"constants-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "constants-browserify@npm:1.0.0" + checksum: 10c0/ab49b1d59a433ed77c964d90d19e08b2f77213fb823da4729c0baead55e3c597f8f97ebccfdfc47bd896d43854a117d114c849a6f659d9986420e97da0f83ac5 + languageName: node + linkType: hard + +"cookie@npm:^0.6.0": + version: 0.6.0 + resolution: "cookie@npm:0.6.0" + checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686 + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 + languageName: node + linkType: hard + +"create-ecdh@npm:^4.0.4": + version: 4.0.4 + resolution: "create-ecdh@npm:4.0.4" + dependencies: + bn.js: "npm:^4.1.0" + elliptic: "npm:^6.5.3" + checksum: 10c0/77b11a51360fec9c3bce7a76288fc0deba4b9c838d5fb354b3e40c59194d23d66efe6355fd4b81df7580da0661e1334a235a2a5c040b7569ba97db428d466e7f + languageName: node + linkType: hard + +"create-hash@npm:^1.1.0, create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: "npm:^1.0.1" + inherits: "npm:^2.0.1" + md5.js: "npm:^1.3.4" + ripemd160: "npm:^2.0.1" + sha.js: "npm:^2.4.0" + checksum: 10c0/d402e60e65e70e5083cb57af96d89567954d0669e90550d7cec58b56d49c4b193d35c43cec8338bc72358198b8cbf2f0cac14775b651e99238e1cf411490f915 + languageName: node + linkType: hard + +"create-hmac@npm:^1.1.7": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + dependencies: + cipher-base: "npm:^1.0.3" + create-hash: "npm:^1.1.0" + inherits: "npm:^2.0.1" + ripemd160: "npm:^2.0.0" + safe-buffer: "npm:^5.0.1" + sha.js: "npm:^2.4.8" + checksum: 10c0/24332bab51011652a9a0a6d160eed1e8caa091b802335324ae056b0dcb5acbc9fcf173cf10d128eba8548c3ce98dfa4eadaa01bd02f44a34414baee26b651835 + languageName: node + linkType: hard + +"create-require@npm:^1.1.1": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"crypto-browserify@npm:^3.12.1": + version: 3.12.1 + resolution: "crypto-browserify@npm:3.12.1" + dependencies: + browserify-cipher: "npm:^1.0.1" + browserify-sign: "npm:^4.2.3" + create-ecdh: "npm:^4.0.4" + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + diffie-hellman: "npm:^5.0.3" + hash-base: "npm:~3.0.4" + inherits: "npm:^2.0.4" + pbkdf2: "npm:^3.1.2" + public-encrypt: "npm:^4.0.3" + randombytes: "npm:^2.1.0" + randomfill: "npm:^1.0.4" + checksum: 10c0/184a2def7b16628e79841243232ab5497f18d8e158ac21b7ce90ab172427d0a892a561280adc08f9d4d517bce8db2a5b335dc21abb970f787f8e874bd7b9db7d + languageName: node + linkType: hard + +"crypto-js@npm:^4.2.0": + version: 4.2.0 + resolution: "crypto-js@npm:4.2.0" + checksum: 10c0/8fbdf9d56f47aea0794ab87b0eb9833baf80b01a7c5c1b0edc7faf25f662fb69ab18dc2199e2afcac54670ff0cd9607a9045a3f7a80336cccd18d77a55b9fdf0 + languageName: node + linkType: hard + +"css-selector-tokenizer@npm:^0.8": + version: 0.8.0 + resolution: "css-selector-tokenizer@npm:0.8.0" + dependencies: + cssesc: "npm:^3.0.0" + fastparse: "npm:^1.1.2" + checksum: 10c0/86f68cc666d41f9d153351677694002a9d00e2609e6abc66fcfd7f580be3d6ecc0929e46a06c621ab28da5febbb54567db9709b819414edae4a36d9ff9133e16 + languageName: node + linkType: hard + +"css-tree@npm:^2.3.1": + version: 2.3.1 + resolution: "css-tree@npm:2.3.1" + dependencies: + mdn-data: "npm:2.0.30" + source-map-js: "npm:^1.0.1" + checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"culori@npm:^3": + version: 3.3.0 + resolution: "culori@npm:3.3.0" + checksum: 10c0/acd330a8f940dc22f36650ba722c9302a4745fee3c8fb40a27ac27228767e2cba4221c2dc414fce652b82cb264d28f65d8b76d505df402ecf94dbb9e440319e1 + languageName: node + linkType: hard + +"curve25519-js@npm:^0.0.4": + version: 0.0.4 + resolution: "curve25519-js@npm:0.0.4" + checksum: 10c0/5b6c3a0dcaf045588aa78c2d1113310bf93fda9c59bd533b2a06da807024eec92feb39b203d1db9c09eda94bba1252d507fb3901283d32898e43090546785ddd + languageName: node + linkType: hard + +"d@npm:1, d@npm:^1.0.1, d@npm:^1.0.2": + version: 1.0.2 + resolution: "d@npm:1.0.2" + dependencies: + es5-ext: "npm:^0.10.64" + type: "npm:^2.7.2" + checksum: 10c0/3e6ede10cd3b77586c47da48423b62bed161bf1a48bdbcc94d87263522e22f5dfb0e678a6dba5323fdc14c5d8612b7f7eb9e7d9e37b2e2d67a7bf9f116dabe5a + languageName: node + linkType: hard + +"daisyui@npm:^4.12": + version: 4.12.24 + resolution: "daisyui@npm:4.12.24" + dependencies: + css-selector-tokenizer: "npm:^0.8" + culori: "npm:^3" + picocolors: "npm:^1" + postcss-js: "npm:^4" + checksum: 10c0/a5865e05b543965c21a934264da2c576f0760137344cb270e2d27183f03c9c51ae1b0af8ebe530fcd31ba4602711d57a5ddbf59c6c9461c53fdd73d53ed61375 + languageName: node + linkType: hard + +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:^4.4.1": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + +"debug@npm:~4.3.1, debug@npm:~4.3.2": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + languageName: node + linkType: hard + +"decimal.js@npm:^10.4.3": + version: 10.6.0 + resolution: "decimal.js@npm:10.6.0" + checksum: 10c0/07d69fbcc54167a340d2d97de95f546f9ff1f69d2b45a02fd7a5292412df3cd9eb7e23065e532a318f5474a2e1bccf8392fdf0443ef467f97f3bf8cb0477e5aa + languageName: node + linkType: hard + +"deep-eql@npm:^4.1.3": + version: 4.1.4 + resolution: "deep-eql@npm:4.1.4" + dependencies: + type-detect: "npm:^4.0.0" + checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"des.js@npm:^1.0.0": + version: 1.1.0 + resolution: "des.js@npm:1.1.0" + dependencies: + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/671354943ad67493e49eb4c555480ab153edd7cee3a51c658082fcde539d2690ed2a4a0b5d1f401f9cde822edf3939a6afb2585f32c091f2d3a1b1665cd45236 + languageName: node + linkType: hard + +"detect-indent@npm:^6.1.0": + version: 6.1.0 + resolution: "detect-indent@npm:6.1.0" + checksum: 10c0/dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7 + languageName: node + linkType: hard + +"devalue@npm:^5.3.2": + version: 5.3.2 + resolution: "devalue@npm:5.3.2" + checksum: 10c0/2dab403779233224285afe4b30eaded038df10cb89b8f2c1e41dd855a8e6b634aa24175b87f64df665204bb9a6a6e7758d172682719b9c5cf3cef336ff9fa507 + languageName: node + linkType: hard + +"didyoumean@npm:^1.2.2": + version: 1.2.2 + resolution: "didyoumean@npm:1.2.2" + checksum: 10c0/95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"diffie-hellman@npm:^5.0.3": + version: 5.0.3 + resolution: "diffie-hellman@npm:5.0.3" + dependencies: + bn.js: "npm:^4.1.0" + miller-rabin: "npm:^4.0.0" + randombytes: "npm:^2.0.0" + checksum: 10c0/ce53ccafa9ca544b7fc29b08a626e23a9b6562efc2a98559a0c97b4718937cebaa9b5d7d0a05032cc9c1435e9b3c1532b9e9bf2e0ede868525922807ad6e1ecf + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"dlv@npm:^1.1.3": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 + languageName: node + linkType: hard + +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + languageName: node + linkType: hard + +"domain-browser@npm:4.22.0": + version: 4.22.0 + resolution: "domain-browser@npm:4.22.0" + checksum: 10c0/2ef7eda6d2161038fda0c9aa4c9e18cc7a0baa89ea6be975d449527c2eefd4b608425db88508e2859acc472f46f402079274b24bd75e3fb506f28c5dba203129 + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"easy-reactive@npm:1.0.4": + version: 1.0.4 + resolution: "easy-reactive@npm:1.0.4" + dependencies: + lodash.clonedeep: "npm:^4.5.0" + lodash.get: "npm:^4.4.2" + lodash.isequal: "npm:^4.5.0" + checksum: 10c0/db9f83a6b4bdd4d017d56cd15249b86183c0d296666bbed0e196012b66380df88eede899a8f1de07c5adc05acc81a328b6e10bbfa94b502c5f2fb1cb6c21676a + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.218": + version: 1.5.223 + resolution: "electron-to-chromium@npm:1.5.223" + checksum: 10c0/1c07c34b6d8eca9b5a587e9a7ffdb4502d9cd346cf7a0446b5bbf9056395b06f3d95774c7b221b8060184771ac536f4653a06811dd4ea5c20a1a071349e84120 + languageName: node + linkType: hard + +"elliptic@npm:6.6.1, elliptic@npm:^6.5.3, elliptic@npm:^6.6.1": + version: 6.6.1 + resolution: "elliptic@npm:6.6.1" + dependencies: + bn.js: "npm:^4.11.9" + brorand: "npm:^1.1.0" + hash.js: "npm:^1.0.0" + hmac-drbg: "npm:^1.0.1" + inherits: "npm:^2.0.4" + minimalistic-assert: "npm:^1.0.1" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/8b24ef782eec8b472053793ea1e91ae6bee41afffdfcb78a81c0a53b191e715cbe1292aa07165958a9bbe675bd0955142560b1a007ffce7d6c765bcaf951a867 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"engine.io-client@npm:~6.6.1": + version: 6.6.3 + resolution: "engine.io-client@npm:6.6.3" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.1" + engine.io-parser: "npm:~5.2.1" + ws: "npm:~8.17.1" + xmlhttprequest-ssl: "npm:~2.1.1" + checksum: 10c0/ebe0b1da6831d5a68564f9ffb80efe682da4f0538488eaffadf0bcf5177a8b4472cdb01d18a9f20dece2f8de30e2df951eb4635bef2f1b492e9f08a523db91a0 + languageName: node + linkType: hard + +"engine.io-parser@npm:~5.2.1": + version: 5.2.3 + resolution: "engine.io-parser@npm:5.2.3" + checksum: 10c0/ed4900d8dbef470ab3839ccf3bfa79ee518ea8277c7f1f2759e8c22a48f64e687ea5e474291394d0c94f84054749fd93f3ef0acb51fa2f5f234cc9d9d8e7c536 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": + version: 1.24.0 + resolution: "es-abstract@npm:1.24.0" + dependencies: + array-buffer-byte-length: "npm:^1.0.2" + arraybuffer.prototype.slice: "npm:^1.0.4" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + data-view-buffer: "npm:^1.0.2" + data-view-byte-length: "npm:^1.0.2" + data-view-byte-offset: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + es-set-tostringtag: "npm:^2.1.0" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.8" + get-intrinsic: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + get-symbol-description: "npm:^1.1.0" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.5" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.2" + is-negative-zero: "npm:^2.0.3" + is-regex: "npm:^1.2.1" + is-set: "npm:^2.0.3" + is-shared-array-buffer: "npm:^1.0.4" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.15" + is-weakref: "npm:^1.1.1" + math-intrinsics: "npm:^1.1.0" + object-inspect: "npm:^1.13.4" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.7" + own-keys: "npm:^1.0.1" + regexp.prototype.flags: "npm:^1.5.4" + safe-array-concat: "npm:^1.1.3" + safe-push-apply: "npm:^1.0.0" + safe-regex-test: "npm:^1.1.0" + set-proto: "npm:^1.0.0" + stop-iteration-iterator: "npm:^1.1.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-length: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.1.0" + which-typed-array: "npm:^1.1.19" + checksum: 10c0/b256e897be32df5d382786ce8cce29a1dd8c97efbab77a26609bd70f2ed29fbcfc7a31758cb07488d532e7ccccdfca76c1118f2afe5a424cdc05ca007867c318 + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af + languageName: node + linkType: hard + +"es-shim-unscopables@npm:^1.0.2, es-shim-unscopables@npm:^1.1.0": + version: 1.1.0 + resolution: "es-shim-unscopables@npm:1.1.0" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/1b9702c8a1823fc3ef39035a4e958802cf294dd21e917397c561d0b3e195f383b978359816b1732d02b255ccf63e1e4815da0065b95db8d7c992037be3bbbcdb + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" + dependencies: + is-callable: "npm:^1.2.7" + is-date-object: "npm:^1.0.5" + is-symbol: "npm:^1.0.4" + checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b + languageName: node + linkType: hard + +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.62, es5-ext@npm:^0.10.64, es5-ext@npm:~0.10.14, es5-ext@npm:~0.10.2": + version: 0.10.64 + resolution: "es5-ext@npm:0.10.64" + dependencies: + es6-iterator: "npm:^2.0.3" + es6-symbol: "npm:^3.1.3" + esniff: "npm:^2.0.1" + next-tick: "npm:^1.1.0" + checksum: 10c0/4459b6ae216f3c615db086e02437bdfde851515a101577fd61b19f9b3c1ad924bab4d197981eb7f0ccb915f643f2fc10ff76b97a680e96cbb572d15a27acd9a3 + languageName: node + linkType: hard + +"es6-iterator@npm:^2.0.3": + version: 2.0.3 + resolution: "es6-iterator@npm:2.0.3" + dependencies: + d: "npm:1" + es5-ext: "npm:^0.10.35" + es6-symbol: "npm:^3.1.1" + checksum: 10c0/91f20b799dba28fb05bf623c31857fc1524a0f1c444903beccaf8929ad196c8c9ded233e5ac7214fc63a92b3f25b64b7f2737fcca8b1f92d2d96cf3ac902f5d8 + languageName: node + linkType: hard + +"es6-promise@npm:^3.1.2": + version: 3.3.1 + resolution: "es6-promise@npm:3.3.1" + checksum: 10c0/b4fc87cb8509c001f62f860f97b05d1fd3f87220c8b832578e6a483c719ca272b73a77f2231cb26395fa865e1cab2fd4298ab67786b69e97b8d757b938f4fc1f + languageName: node + linkType: hard + +"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": + version: 3.1.4 + resolution: "es6-symbol@npm:3.1.4" + dependencies: + d: "npm:^1.0.2" + ext: "npm:^1.7.0" + checksum: 10c0/777bf3388db5d7919e09a0fd175aa5b8a62385b17cb2227b7a137680cba62b4d9f6193319a102642aa23d5840d38a62e4784f19cfa5be4a2210a3f0e9b23d15d + languageName: node + linkType: hard + +"es6-weak-map@npm:^2.0.3": + version: 2.0.3 + resolution: "es6-weak-map@npm:2.0.3" + dependencies: + d: "npm:1" + es5-ext: "npm:^0.10.46" + es6-iterator: "npm:^2.0.3" + es6-symbol: "npm:^3.1.1" + checksum: 10c0/460932be9542473dbbddd183e21c15a66cfec1b2c17dae2b514e190d6fb2896b7eb683783d4b36da036609d2e1c93d2815f21b374dfccaf02a8978694c2f7b67 + languageName: node + linkType: hard + +"esbuild@npm:^0.19.2": + version: 0.19.12 + resolution: "esbuild@npm:0.19.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.19.12" + "@esbuild/android-arm": "npm:0.19.12" + "@esbuild/android-arm64": "npm:0.19.12" + "@esbuild/android-x64": "npm:0.19.12" + "@esbuild/darwin-arm64": "npm:0.19.12" + "@esbuild/darwin-x64": "npm:0.19.12" + "@esbuild/freebsd-arm64": "npm:0.19.12" + "@esbuild/freebsd-x64": "npm:0.19.12" + "@esbuild/linux-arm": "npm:0.19.12" + "@esbuild/linux-arm64": "npm:0.19.12" + "@esbuild/linux-ia32": "npm:0.19.12" + "@esbuild/linux-loong64": "npm:0.19.12" + "@esbuild/linux-mips64el": "npm:0.19.12" + "@esbuild/linux-ppc64": "npm:0.19.12" + "@esbuild/linux-riscv64": "npm:0.19.12" + "@esbuild/linux-s390x": "npm:0.19.12" + "@esbuild/linux-x64": "npm:0.19.12" + "@esbuild/netbsd-x64": "npm:0.19.12" + "@esbuild/openbsd-x64": "npm:0.19.12" + "@esbuild/sunos-x64": "npm:0.19.12" + "@esbuild/win32-arm64": "npm:0.19.12" + "@esbuild/win32-ia32": "npm:0.19.12" + "@esbuild/win32-x64": "npm:0.19.12" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d + languageName: node + linkType: hard + +"esbuild@npm:^0.21.3": + version: 0.21.5 + resolution: "esbuild@npm:0.21.5" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.5" + "@esbuild/android-arm": "npm:0.21.5" + "@esbuild/android-arm64": "npm:0.21.5" + "@esbuild/android-x64": "npm:0.21.5" + "@esbuild/darwin-arm64": "npm:0.21.5" + "@esbuild/darwin-x64": "npm:0.21.5" + "@esbuild/freebsd-arm64": "npm:0.21.5" + "@esbuild/freebsd-x64": "npm:0.21.5" + "@esbuild/linux-arm": "npm:0.21.5" + "@esbuild/linux-arm64": "npm:0.21.5" + "@esbuild/linux-ia32": "npm:0.21.5" + "@esbuild/linux-loong64": "npm:0.21.5" + "@esbuild/linux-mips64el": "npm:0.21.5" + "@esbuild/linux-ppc64": "npm:0.21.5" + "@esbuild/linux-riscv64": "npm:0.21.5" + "@esbuild/linux-s390x": "npm:0.21.5" + "@esbuild/linux-x64": "npm:0.21.5" + "@esbuild/netbsd-x64": "npm:0.21.5" + "@esbuild/openbsd-x64": "npm:0.21.5" + "@esbuild/sunos-x64": "npm:0.21.5" + "@esbuild/win32-arm64": "npm:0.21.5" + "@esbuild/win32-ia32": "npm:0.21.5" + "@esbuild/win32-x64": "npm:0.21.5" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de + languageName: node + linkType: hard + +"esbuild@npm:^0.25.0": + version: 0.25.10 + resolution: "esbuild@npm:0.25.10" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.10" + "@esbuild/android-arm": "npm:0.25.10" + "@esbuild/android-arm64": "npm:0.25.10" + "@esbuild/android-x64": "npm:0.25.10" + "@esbuild/darwin-arm64": "npm:0.25.10" + "@esbuild/darwin-x64": "npm:0.25.10" + "@esbuild/freebsd-arm64": "npm:0.25.10" + "@esbuild/freebsd-x64": "npm:0.25.10" + "@esbuild/linux-arm": "npm:0.25.10" + "@esbuild/linux-arm64": "npm:0.25.10" + "@esbuild/linux-ia32": "npm:0.25.10" + "@esbuild/linux-loong64": "npm:0.25.10" + "@esbuild/linux-mips64el": "npm:0.25.10" + "@esbuild/linux-ppc64": "npm:0.25.10" + "@esbuild/linux-riscv64": "npm:0.25.10" + "@esbuild/linux-s390x": "npm:0.25.10" + "@esbuild/linux-x64": "npm:0.25.10" + "@esbuild/netbsd-arm64": "npm:0.25.10" + "@esbuild/netbsd-x64": "npm:0.25.10" + "@esbuild/openbsd-arm64": "npm:0.25.10" + "@esbuild/openbsd-x64": "npm:0.25.10" + "@esbuild/openharmony-arm64": "npm:0.25.10" + "@esbuild/sunos-x64": "npm:0.25.10" + "@esbuild/win32-arm64": "npm:0.25.10" + "@esbuild/win32-ia32": "npm:0.25.10" + "@esbuild/win32-x64": "npm:0.25.10" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/8ee5fdd43ed0d4092ce7f41577c63147f54049d5617763f0549c638bbe939e8adaa8f1a2728adb63417eb11df51956b7b0d8eb88ee08c27ad1d42960256158fa + languageName: node + linkType: hard + +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-compat-utils@npm:^0.5.1": + version: 0.5.1 + resolution: "eslint-compat-utils@npm:0.5.1" + dependencies: + semver: "npm:^7.5.4" + peerDependencies: + eslint: ">=6.0.0" + checksum: 10c0/325e815205fab70ebcd379f6d4b5d44c7d791bb8dfe0c9888233f30ebabd9418422595b53a781b946c768d9244d858540e5e6129a6b3dd6d606f467d599edc6c + languageName: node + linkType: hard + +"eslint-config-standard-with-typescript@npm:^43.0.1": + version: 43.0.1 + resolution: "eslint-config-standard-with-typescript@npm:43.0.1" + dependencies: + "@typescript-eslint/parser": "npm:^6.4.0" + eslint-config-standard: "npm:17.1.0" + peerDependencies: + "@typescript-eslint/eslint-plugin": ^6.4.0 + eslint: ^8.0.1 + eslint-plugin-import: ^2.25.2 + eslint-plugin-n: "^15.0.0 || ^16.0.0 " + eslint-plugin-promise: ^6.0.0 + typescript: "*" + checksum: 10c0/e01d9fb0ee5b3a435417926f9356a572f9ba0393a2db4892421c383830aa29308fbe52ecc8395a2e5fc005acfba4465f470d23fcdf4f9c2060238e9907da0d28 + languageName: node + linkType: hard + +"eslint-config-standard@npm:17.1.0": + version: 17.1.0 + resolution: "eslint-config-standard@npm:17.1.0" + peerDependencies: + eslint: ^8.0.1 + eslint-plugin-import: ^2.25.2 + eslint-plugin-n: "^15.0.0 || ^16.0.0 " + eslint-plugin-promise: ^6.0.0 + checksum: 10c0/d32f37ec4bea541debd3a8c9e05227673a9b1a9977da078195ee55fb371813ddf1349c75f2c33d76699fe3412f1e303181795f146e8d0e546b94fa0dce2bfbf9 + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" + dependencies: + debug: "npm:^3.2.7" + is-core-module: "npm:^2.13.0" + resolve: "npm:^1.22.4" + checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.12.1": + version: 2.12.1 + resolution: "eslint-module-utils@npm:2.12.1" + dependencies: + debug: "npm:^3.2.7" + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/6f4efbe7a91ae49bf67b4ab3644cb60bc5bd7db4cb5521de1b65be0847ffd3fb6bce0dd68f0995e1b312d137f768e2a1f842ee26fe73621afa05f850628fdc40 + languageName: node + linkType: hard + +"eslint-plugin-es-x@npm:^7.5.0": + version: 7.8.0 + resolution: "eslint-plugin-es-x@npm:7.8.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.1.2" + "@eslint-community/regexpp": "npm:^4.11.0" + eslint-compat-utils: "npm:^0.5.1" + peerDependencies: + eslint: ">=8" + checksum: 10c0/002fda8c029bc5da41e24e7ac11654062831d675fc4f5f20d0de460e24bf1e05cd559000678ef3e46c48641190f4fc07ae3d57aa5e8b085ef5f67e5f63742614 + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.29.1": + version: 2.32.0 + resolution: "eslint-plugin-import@npm:2.32.0" + dependencies: + "@rtsao/scc": "npm:^1.1.0" + array-includes: "npm:^3.1.9" + array.prototype.findlastindex: "npm:^1.2.6" + array.prototype.flat: "npm:^1.3.3" + array.prototype.flatmap: "npm:^1.3.3" + debug: "npm:^3.2.7" + doctrine: "npm:^2.1.0" + eslint-import-resolver-node: "npm:^0.3.9" + eslint-module-utils: "npm:^2.12.1" + hasown: "npm:^2.0.2" + is-core-module: "npm:^2.16.1" + is-glob: "npm:^4.0.3" + minimatch: "npm:^3.1.2" + object.fromentries: "npm:^2.0.8" + object.groupby: "npm:^1.0.3" + object.values: "npm:^1.2.1" + semver: "npm:^6.3.1" + string.prototype.trimend: "npm:^1.0.9" + tsconfig-paths: "npm:^3.15.0" + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + checksum: 10c0/bfb1b8fc8800398e62ddfefbf3638d185286edfed26dfe00875cc2846d954491b4f5112457831588b757fa789384e1ae585f812614c4797f0499fa234fd4a48b + languageName: node + linkType: hard + +"eslint-plugin-n@npm:^16.6.2": + version: 16.6.2 + resolution: "eslint-plugin-n@npm:16.6.2" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + builtins: "npm:^5.0.1" + eslint-plugin-es-x: "npm:^7.5.0" + get-tsconfig: "npm:^4.7.0" + globals: "npm:^13.24.0" + ignore: "npm:^5.2.4" + is-builtin-module: "npm:^3.2.1" + is-core-module: "npm:^2.12.1" + minimatch: "npm:^3.1.2" + resolve: "npm:^1.22.2" + semver: "npm:^7.5.3" + peerDependencies: + eslint: ">=7.0.0" + checksum: 10c0/6008493754b51c6b9ce18c17e7c3d455b69444d2c454dd399a5c2f1b833bb5a649992052f141a5dd695d22e3946a518063b2dd01e872c67dc0294eb143b80633 + languageName: node + linkType: hard + +"eslint-plugin-promise@npm:^6.1.1": + version: 6.6.0 + resolution: "eslint-plugin-promise@npm:6.6.0" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/93a667dbc9ff15c4d586b0d40a31c7828314cbbb31b2b9a75802aa4ef536e9457bb3e1a89b384b07aa336dd61b315ae8b0aadc0870210378023dd018819b59b3 + languageName: node + linkType: hard + +"eslint-plugin-svelte@npm:^2.35.1": + version: 2.46.1 + resolution: "eslint-plugin-svelte@npm:2.46.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + eslint-compat-utils: "npm:^0.5.1" + esutils: "npm:^2.0.3" + known-css-properties: "npm:^0.35.0" + postcss: "npm:^8.4.38" + postcss-load-config: "npm:^3.1.4" + postcss-safe-parser: "npm:^6.0.0" + postcss-selector-parser: "npm:^6.1.0" + semver: "npm:^7.6.2" + svelte-eslint-parser: "npm:^0.43.0" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0 + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true + checksum: 10c0/48fd6c792615c534b505e5ef4616034da71af3892e5895de0b3802cdef03819e43716f36442137233a734726385a66ed8a01c08ff4c0496eaab1bb8bfbbc07c0 + languageName: node + linkType: hard + +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint@npm:^8.56.0": + version: 8.57.1 + resolution: "eslint@npm:8.57.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.6.1" + "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/js": "npm:8.57.1" + "@humanwhocodes/config-array": "npm:^0.13.0" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@nodelib/fs.walk": "npm:^1.2.8" + "@ungap/structured-clone": "npm:^1.2.0" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + doctrine: "npm:^3.0.0" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^7.2.2" + eslint-visitor-keys: "npm:^3.4.3" + espree: "npm:^9.6.1" + esquery: "npm:^1.4.2" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^6.0.1" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + globals: "npm:^13.19.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + js-yaml: "npm:^4.1.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + bin: + eslint: bin/eslint.js + checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 + languageName: node + linkType: hard + +"esm-env@npm:^1.2.2": + version: 1.2.2 + resolution: "esm-env@npm:1.2.2" + checksum: 10c0/3d25c973f2fd69c25ffff29c964399cea573fe10795ecc1d26f6f957ce0483d3254e1cceddb34bf3296a0d7b0f1d53a28992f064ba509dfe6366751e752c4166 + languageName: node + linkType: hard + +"esniff@npm:^2.0.1": + version: 2.0.1 + resolution: "esniff@npm:2.0.1" + dependencies: + d: "npm:^1.0.1" + es5-ext: "npm:^0.10.62" + event-emitter: "npm:^0.3.5" + type: "npm:^2.7.2" + checksum: 10c0/7efd8d44ac20e5db8cb0ca77eb65eca60628b2d0f3a1030bcb05e71cc40e6e2935c47b87dba3c733db12925aa5b897f8e0e7a567a2c274206f184da676ea2e65 + languageName: node + linkType: hard + +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esquery@npm:^1.4.2": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^2, estree-walker@npm:^2.0.2": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.0, estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2, esutils@npm:^2.0.3": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"ethers@npm:^5.6.8": + version: 5.8.0 + resolution: "ethers@npm:5.8.0" + dependencies: + "@ethersproject/abi": "npm:5.8.0" + "@ethersproject/abstract-provider": "npm:5.8.0" + "@ethersproject/abstract-signer": "npm:5.8.0" + "@ethersproject/address": "npm:5.8.0" + "@ethersproject/base64": "npm:5.8.0" + "@ethersproject/basex": "npm:5.8.0" + "@ethersproject/bignumber": "npm:5.8.0" + "@ethersproject/bytes": "npm:5.8.0" + "@ethersproject/constants": "npm:5.8.0" + "@ethersproject/contracts": "npm:5.8.0" + "@ethersproject/hash": "npm:5.8.0" + "@ethersproject/hdnode": "npm:5.8.0" + "@ethersproject/json-wallets": "npm:5.8.0" + "@ethersproject/keccak256": "npm:5.8.0" + "@ethersproject/logger": "npm:5.8.0" + "@ethersproject/networks": "npm:5.8.0" + "@ethersproject/pbkdf2": "npm:5.8.0" + "@ethersproject/properties": "npm:5.8.0" + "@ethersproject/providers": "npm:5.8.0" + "@ethersproject/random": "npm:5.8.0" + "@ethersproject/rlp": "npm:5.8.0" + "@ethersproject/sha2": "npm:5.8.0" + "@ethersproject/signing-key": "npm:5.8.0" + "@ethersproject/solidity": "npm:5.8.0" + "@ethersproject/strings": "npm:5.8.0" + "@ethersproject/transactions": "npm:5.8.0" + "@ethersproject/units": "npm:5.8.0" + "@ethersproject/wallet": "npm:5.8.0" + "@ethersproject/web": "npm:5.8.0" + "@ethersproject/wordlists": "npm:5.8.0" + checksum: 10c0/8f187bb6af3736fbafcb613d8fb5be31fe7667a1bae480dd0a4c31b597ed47e0693d552adcababcb05111da39a059fac22e44840ce1671b1cc972de22d6d85d9 + languageName: node + linkType: hard + +"event-emitter@npm:^0.3.5": + version: 0.3.5 + resolution: "event-emitter@npm:0.3.5" + dependencies: + d: "npm:1" + es5-ext: "npm:~0.10.14" + checksum: 10c0/75082fa8ffb3929766d0f0a063bfd6046bd2a80bea2666ebaa0cfd6f4a9116be6647c15667bea77222afc12f5b4071b68d393cf39fdaa0e8e81eda006160aff0 + languageName: node + linkType: hard + +"events@npm:^3.0.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": + version: 1.0.3 + resolution: "evp_bytestokey@npm:1.0.3" + dependencies: + md5.js: "npm:^1.3.4" + node-gyp: "npm:latest" + safe-buffer: "npm:^5.1.1" + checksum: 10c0/77fbe2d94a902a80e9b8f5a73dcd695d9c14899c5e82967a61b1fc6cbbb28c46552d9b127cff47c45fcf684748bdbcfa0a50410349109de87ceb4b199ef6ee99 + languageName: node + linkType: hard + +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + languageName: node + linkType: hard + +"ext@npm:^1.7.0": + version: 1.7.0 + resolution: "ext@npm:1.7.0" + dependencies: + type: "npm:^2.7.2" + checksum: 10c0/a8e5f34e12214e9eee3a4af3b5c9d05ba048f28996450975b369fc86e5d0ef13b6df0615f892f5396a9c65d616213c25ec5b0ad17ef42eac4a500512a19da6c7 + languageName: node + linkType: hard + +"fancy-canvas@npm:2.1.0": + version: 2.1.0 + resolution: "fancy-canvas@npm:2.1.0" + checksum: 10c0/2b863b1548214ac793a5104154be389dbca6847c53c8bda88e4309f14bcdb498f4da21e368b573f3ab5f458d3b47c3f0ef731a7b90c8264b23c1cf0bfc9d1da3 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fastparse@npm:^1.1.2": + version: 1.1.2 + resolution: "fastparse@npm:1.1.2" + checksum: 10c0/c08d6e7ef10c0928426c1963dd4593e2baaf44d223ab1e5ba5d7b30470144b3a4ecb3605958b73754cea3f857ecef00b67c885f07ca2c312b38b67d9d88b84b5 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.19.1 + resolution: "fastq@npm:1.19.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 + languageName: node + linkType: hard + +"fdir@npm:^6.4.4, fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: "npm:^3.0.4" + checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.3" + rimraf: "npm:^3.0.2" + checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 10c0/e957a1c6b0254aa15b8cce8533e24165abd98fadc98575db082b786b5da1b7d72062b81bfdcd1da2f4d46b6ed93bec2434e62333e9b4261d79ef2e75a10dd538 + languageName: node + linkType: hard + +"follow-redirects@npm:^1.15.0, follow-redirects@npm:^1.15.6": + version: 1.15.11 + resolution: "follow-redirects@npm:1.15.11" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/d301f430542520a54058d4aeeb453233c564aaccac835d29d15e050beb33f339ad67d9bddbce01739c5dc46a6716dbe3d9d0d5134b1ca203effa11a7ef092343 + languageName: node + linkType: hard + +"for-each@npm:^0.3.3, for-each@npm:^0.3.5": + version: 0.3.5 + resolution: "for-each@npm:0.3.5" + dependencies: + is-callable: "npm:^1.2.7" + checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" + dependencies: + cross-spawn: "npm:^7.0.6" + signal-exit: "npm:^4.0.1" + checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0, form-data@npm:^4.0.4": + version: 4.0.4 + resolution: "form-data@npm:4.0.4" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" + mime-types: "npm:^2.1.12" + checksum: 10c0/373525a9a034b9d57073e55eab79e501a714ffac02e7a9b01be1c820780652b16e4101819785e1e18f8d98f0aee866cc654d660a435c378e16a72f2e7cac9695 + languageName: node + linkType: hard + +"fraction.js@npm:^4.3.7": + version: 4.3.7 + resolution: "fraction.js@npm:4.3.7" + checksum: 10c0/df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin::version=2.3.2&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + functions-have-names: "npm:^1.2.3" + hasown: "npm:^2.0.2" + is-callable: "npm:^1.2.7" + checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253 + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.3": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca + languageName: node + linkType: hard + +"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": + version: 2.0.2 + resolution: "get-func-name@npm:2.0.2" + checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + languageName: node + linkType: hard + +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b + languageName: node + linkType: hard + +"get-tsconfig@npm:^4.7.0": + version: 4.10.1 + resolution: "get-tsconfig@npm:4.10.1" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10c0/7f8e3dabc6a49b747920a800fb88e1952fef871cdf51b79e98db48275a5de6cdaf499c55ee67df5fa6fe7ce65f0063e26de0f2e53049b408c585aa74d39ffa21 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^7.1.3": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"globals@npm:^13.19.0, globals@npm:^13.24.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" + dependencies: + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 + languageName: node + linkType: hard + +"globalyzer@npm:0.1.0": + version: 0.1.0 + resolution: "globalyzer@npm:0.1.0" + checksum: 10c0/e16e47a5835cbe8a021423d4c7fcd9f5f85815b4190a7f50c1fdb95fc559d72e4fb30be96f106c66a99413f36d72da0f8323d19d27f60a8feec9d936139ec5a8 + languageName: node + linkType: hard + +"globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"globrex@npm:^0.1.2": + version: 0.1.2 + resolution: "globrex@npm:0.1.2" + checksum: 10c0/a54c029520cf58bda1d8884f72bd49b4cd74e977883268d931fd83bcbd1a9eb96d57c7dbd4ad80148fb9247467ebfb9b215630b2ed7563b2a8de02e1ff7f89d1 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: "npm:^1.0.0" + checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0, hash-base@npm:^3.1.2": + version: 3.1.2 + resolution: "hash-base@npm:3.1.2" + dependencies: + inherits: "npm:^2.0.4" + readable-stream: "npm:^2.3.8" + safe-buffer: "npm:^5.2.1" + to-buffer: "npm:^1.2.1" + checksum: 10c0/f3b7fae1853b31340048dd659f40f5260ca6f3ff53b932f807f4ab701ee09039f6e9dbe1841723ff61e20f3f69d6387a352e4ccc5f997dedb0d375c7d88bc15e + languageName: node + linkType: hard + +"hash-base@npm:~3.0.4": + version: 3.0.5 + resolution: "hash-base@npm:3.0.5" + dependencies: + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/6dc185b79bad9b6d525cd132a588e4215380fdc36fec6f7a8a58c5db8e3b642557d02ad9c367f5e476c7c3ad3ccffa3607f308b124e1ed80e3b80a1b254db61e + languageName: node + linkType: hard + +"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: "npm:^2.0.3" + minimalistic-assert: "npm:^1.0.1" + checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: "npm:^1.0.3" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "https-browserify@npm:1.0.0" + checksum: 10c0/e17b6943bc24ea9b9a7da5714645d808670af75a425f29baffc3284962626efdc1eb3aa9bbffaa6e64028a6ad98af5b09fabcb454a8f918fb686abfdc9e9b8ae + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.2.4": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec + languageName: node + linkType: hard + +"import-meta-resolve@npm:^4.1.0": + version: 4.2.0 + resolution: "import-meta-resolve@npm:4.2.0" + checksum: 10c0/3ee8aeecb61d19b49d2703987f977e9d1c7d4ba47db615a570eaa02fe414f40dfa63f7b953e842cbe8470d26df6371332bfcf21b2fd92b0112f9fea80dde2c4c + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"int64-buffer@npm:^1.0.1": + version: 1.1.0 + resolution: "int64-buffer@npm:1.1.0" + checksum: 10c0/47c44ab8189e29554ad0f2511037ebb46e8647186e124e6a374c2aa71ed2cc95e1acabb61feb7596327cd298a258d6cdf618eb5725532a89d8f68c28f2e4e44a + languageName: node + linkType: hard + +"interface@workspace:.": + version: 0.0.0-use.local + resolution: "interface@workspace:." + dependencies: + "@fontsource/bebas-neue": "npm:^5.0.18" + "@fontsource/fira-mono": "npm:^4.5.10" + "@fontsource/inter": "npm:^5.0.16" + "@mixin.dev/mixin-node-sdk": "npm:^6.1.1" + "@playwright/experimental-ct-svelte": "npm:^1.40.1" + "@playwright/test": "npm:^1.47.2" + "@sveltejs/adapter-auto": "npm:^3.0.0" + "@sveltejs/adapter-static": "npm:^3.0.5" + "@sveltejs/kit": "npm:^2.0.0" + "@sveltejs/vite-plugin-svelte": "npm:^3.0.0" + "@types/node": "npm:^20.11.0" + "@types/uuid": "npm:^9.0.8" + "@typescript-eslint/eslint-plugin": "npm:^6.19.1" + "@typescript-eslint/parser": "npm:^6.19.1" + autoprefixer: "npm:^10.4.16" + axios: "npm:^1.6.3" + bignumber.js: "npm:^9.1.2" + bs58: "npm:^6.0.0" + clsx: "npm:^2.0.0" + crypto-js: "npm:^4.2.0" + daisyui: "npm:^4.12" + eslint: "npm:^8.56.0" + eslint-config-standard-with-typescript: "npm:^43.0.1" + eslint-plugin-import: "npm:^2.29.1" + eslint-plugin-n: "npm:^16.6.2" + eslint-plugin-promise: "npm:^6.1.1" + eslint-plugin-svelte: "npm:^2.35.1" + klinecharts: "npm:^9.7.2" + lightweight-charts: "npm:^4.1.1" + moment: "npm:^2.30.1" + pako: "npm:^2.1.0" + postcss: "npm:^8.4.32" + reconnecting-websocket: "npm:^4.4.0" + socket.io-client: "npm:^4.7.4" + svelte: "npm:^4.2.7" + svelte-carousel: "npm:^1.0.25" + svelte-check: "npm:^3.6.0" + svelte-cleavejs: "npm:^1.0.3" + svelte-french-toast: "npm:^1.2.0" + svelte-i18n: "npm:^4.0.0" + svelte-infinite-loading: "npm:^1.4.0" + svelte-lightweight-charts: "npm:^2.2.0" + tailwindcss: "npm:^3.4.0" + technicalindicators: "npm:^3.1.0" + tslib: "npm:^2.4.1" + typescript: "npm:^5.3.3" + uuid: "npm:^9.0.1" + vite: "npm:^5.0.3" + vite-plugin-node-polyfills: "npm:^0.19.0" + vitest: "npm:^1.2.0" + languageName: unknown + linkType: soft + +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + hasown: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7 + languageName: node + linkType: hard + +"intl-messageformat@npm:^10.5.3": + version: 10.7.16 + resolution: "intl-messageformat@npm:10.7.16" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.3.4" + "@formatjs/fast-memoize": "npm:2.2.7" + "@formatjs/icu-messageformat-parser": "npm:2.11.2" + tslib: "npm:^2.8.0" + checksum: 10c0/537735bf6439f0560f132895d117df6839957ac04cdd58d861f6da86803d40bfc19059e3d341ddb8de87214b73a6329b57f9acdb512bb0f745dcf08729507b9b + languageName: node + linkType: hard + +"ip-address@npm:^10.0.1": + version: 10.0.1 + resolution: "ip-address@npm:10.0.1" + checksum: 10c0/1634d79dae18394004775cb6d699dc46b7c23df6d2083164025a2b15240c1164fccde53d0e08bd5ee4fc53913d033ab6b5e395a809ad4b956a940c446e948843 + languageName: node + linkType: hard + +"is-arguments@npm:^1.0.4": + version: 1.2.0 + resolution: "is-arguments@npm:1.2.0" + dependencies: + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/6377344b31e9fcb707c6751ee89b11f132f32338e6a782ec2eac9393b0cbd32235dad93052998cda778ee058754860738341d8114910d50ada5615912bb929fc + languageName: node + linkType: hard + +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d + languageName: node + linkType: hard + +"is-async-function@npm:^2.0.0": + version: 2.1.1 + resolution: "is-async-function@npm:2.1.1" + dependencies: + async-function: "npm:^1.0.0" + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298 + languageName: node + linkType: hard + +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" + dependencies: + has-bigints: "npm:^1.0.2" + checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.2.1": + version: 1.2.2 + resolution: "is-boolean-object@npm:1.2.2" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e + languageName: node + linkType: hard + +"is-builtin-module@npm:^3.2.1": + version: 3.2.1 + resolution: "is-builtin-module@npm:3.2.1" + dependencies: + builtin-modules: "npm:^3.3.0" + checksum: 10c0/5a66937a03f3b18803381518f0ef679752ac18cdb7dd53b5e23ee8df8d440558737bd8dcc04d2aae555909d2ecb4a81b5c0d334d119402584b61e6a003e31af1 + languageName: node + linkType: hard + +"is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f + languageName: node + linkType: hard + +"is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.16.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd + languageName: node + linkType: hard + +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153 + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": + version: 1.1.0 + resolution: "is-generator-function@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.0" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-map@npm:^2.0.3": + version: 2.0.3 + resolution: "is-map@npm:2.0.3" + checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc + languageName: node + linkType: hard + +"is-nan@npm:^1.3.2": + version: 1.3.2 + resolution: "is-nan@npm:1.3.2" + dependencies: + call-bind: "npm:^1.0.0" + define-properties: "npm:^1.1.3" + checksum: 10c0/8bfb286f85763f9c2e28ea32e9127702fe980ffd15fa5d63ade3be7786559e6e21355d3625dd364c769c033c5aedf0a2ed3d4025d336abf1b9241e3d9eddc5b0 + languageName: node + linkType: hard + +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e + languageName: node + linkType: hard + +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.3": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-promise@npm:^2.2.2": + version: 2.2.2 + resolution: "is-promise@npm:2.2.2" + checksum: 10c0/2dba959812380e45b3df0fb12e7cb4d4528c989c7abb03ececb1d1fd6ab1cbfee956ca9daa587b9db1d8ac3c1e5738cf217bdb3dfd99df8c691be4c00ae09069 + languageName: node + linkType: hard + +"is-reference@npm:^3.0.0, is-reference@npm:^3.0.1": + version: 3.0.3 + resolution: "is-reference@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.6" + checksum: 10c0/35edd284cfb4cd9e9f08973f20e276ec517eaca31f5f049598e97dbb2d05544973dde212dac30fddee5b420930bff365e2e67dcd1293d0866c6720377382e3e5 + languageName: node + linkType: hard + +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 + languageName: node + linkType: hard + +"is-retry-allowed@npm:2.2.0, is-retry-allowed@npm:^2.2.0": + version: 2.2.0 + resolution: "is-retry-allowed@npm:2.2.0" + checksum: 10c0/013be4f8a0a06a49ed1fe495242952e898325d496202a018f6f9fb3fb9ac8fe3b957a9bd62463d68299ae35dbbda680473c85a9bcefca731b49d500d3ccc08ff + languageName: node + linkType: hard + +"is-set@npm:^2.0.3": + version: 2.0.3 + resolution: "is-set@npm:2.0.3" + checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db + languageName: node + linkType: hard + +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15, is-typed-array@npm:^1.1.3": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" + dependencies: + which-typed-array: "npm:^1.1.16" + checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 + languageName: node + linkType: hard + +"is-weakmap@npm:^2.0.2": + version: 2.0.2 + resolution: "is-weakmap@npm:2.0.2" + checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1": + version: 1.1.1 + resolution: "is-weakref@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b + languageName: node + linkType: hard + +"is-weakset@npm:^2.0.3": + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" + dependencies: + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647 + languageName: node + linkType: hard + +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"isomorphic-timers-promises@npm:^1.0.1": + version: 1.0.1 + resolution: "isomorphic-timers-promises@npm:1.0.1" + checksum: 10c0/3b4761d0012ebe6b6382246079fc667f3513f36fe4042638f2bfb7db1557e4f1acd33a9c9907706c04270890ec6434120f132f3f300161a42a7dd8628926c8a4 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jiti@npm:^1.21.6": + version: 1.21.7 + resolution: "jiti@npm:1.21.7" + bin: + jiti: bin/jiti.js + checksum: 10c0/77b61989c758ff32407cdae8ddc77f85e18e1a13fc4977110dbd2e05fc761842f5f71bce684d9a01316e1c4263971315a111385759951080bbfe17cbb5de8f7a + languageName: node + linkType: hard + +"js-sha3@npm:0.8.0": + version: 0.8.0 + resolution: "js-sha3@npm:0.8.0" + checksum: 10c0/43a21dc7967c871bd2c46cb1c2ae97441a97169f324e509f382d43330d8f75cf2c96dba7c806ab08a425765a9c847efdd4bffbac2d99c3a4f3de6c0218f40533 + languageName: node + linkType: hard + +"js-tokens@npm:^9.0.1": + version: 9.0.1 + resolution: "js-tokens@npm:9.0.1" + checksum: 10c0/68dcab8f233dde211a6b5fd98079783cbcd04b53617c1250e3553ee16ab3e6134f5e65478e41d82f6d351a052a63d71024553933808570f04dbf828d7921e80e + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json5@npm:^1.0.2": + version: 1.0.2 + resolution: "json5@npm:1.0.2" + dependencies: + minimist: "npm:^1.2.0" + bin: + json5: lib/cli.js + checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f + languageName: node + linkType: hard + +"keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kleur@npm:^4.1.5": + version: 4.1.5 + resolution: "kleur@npm:4.1.5" + checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a + languageName: node + linkType: hard + +"klinecharts@npm:^9.7.2": + version: 9.8.12 + resolution: "klinecharts@npm:9.8.12" + checksum: 10c0/c878eecc289c1ec6068984631fad665372bc94083f0c729afcad386cd7a29b6d99ef2d66f15179689162166c8dffaf79c594e63d89f92e0bc19d53e3e200369b + languageName: node + linkType: hard + +"known-css-properties@npm:^0.35.0": + version: 0.35.0 + resolution: "known-css-properties@npm:0.35.0" + checksum: 10c0/04a4a2859d62670bb25b5b28091a1f03f6f0d3298a5ed3e7476397c5287b98c434f6dd9c004a0c67a53b7f21acc93f83c972e98c122f568d4d0bd21fd2b90fb6 + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"lightweight-charts@npm:^4.1.1": + version: 4.2.3 + resolution: "lightweight-charts@npm:4.2.3" + dependencies: + fancy-canvas: "npm:2.1.0" + checksum: 10c0/8c3c7aa3e3a5fe980f38d99d2410893cb8baf13c11406a6edde6860b594b024fe7830db8fc5e85e4a71ec9363ee30180ae42a2e43dff5dfac624f05dd393cb64 + languageName: node + linkType: hard + +"lilconfig@npm:^2.0.5": + version: 2.1.0 + resolution: "lilconfig@npm:2.1.0" + checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 + languageName: node + linkType: hard + +"lilconfig@npm:^3.0.0, lilconfig@npm:^3.1.3": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"local-pkg@npm:^0.5.0": + version: 0.5.1 + resolution: "local-pkg@npm:0.5.1" + dependencies: + mlly: "npm:^1.7.3" + pkg-types: "npm:^1.2.1" + checksum: 10c0/ade8346f1dc04875921461adee3c40774b00d4b74095261222ebd4d5fd0a444676e36e325f76760f21af6a60bc82480e154909b54d2d9f7173671e36dacf1808 + languageName: node + linkType: hard + +"locate-character@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-character@npm:3.0.0" + checksum: 10c0/9da917622395002eb1336fca8cbef1c19904e3dc0b3b8078abe8ff390106d947a86feccecd0346f0e0e19fa017623fb4ccb65263d72a76dfa36e20cc18766b6c + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.clonedeep@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.clonedeep@npm:4.5.0" + checksum: 10c0/2caf0e4808f319d761d2939ee0642fa6867a4bbf2cfce43276698828380756b99d4c4fa226d881655e6ac298dd453fe12a5ec8ba49861777759494c534936985 + languageName: node + linkType: hard + +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: 10c0/48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e + languageName: node + linkType: hard + +"lodash.isequal@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.isequal@npm:4.5.0" + checksum: 10c0/dfdb2356db19631a4b445d5f37868a095e2402292d59539a987f134a8778c62a2810c2452d11ae9e6dcac71fc9de40a6fedcb20e2952a15b431ad8b29e50e28f + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"loupe@npm:^2.3.6, loupe@npm:^2.3.7": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: "npm:^2.0.1" + checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "lru-queue@npm:0.1.0" + dependencies: + es5-ext: "npm:~0.10.2" + checksum: 10c0/83517032b46843601c4528be65e8aaf85f5a7860a9cfa3e4f2b5591da436e7cd748d95b450c91434c4ffb75d3ae4c069ddbdd9f71ada56a99a00c03088c51b4d + languageName: node + linkType: hard + +"magic-string@npm:^0.30.10, magic-string@npm:^0.30.17, magic-string@npm:^0.30.3, magic-string@npm:^0.30.4, magic-string@npm:^0.30.5": + version: 0.30.19 + resolution: "magic-string@npm:0.30.19" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/db23fd2e2ee98a1aeb88a4cdb2353137fcf05819b883c856dd79e4c7dfb25151e2a5a4d5dbd88add5e30ed8ae5c51bcf4accbc6becb75249d924ec7b4fbcae27 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/b7bd75077f419c8e013fc4d4dada48be71882e37d69a44af65a2f2804b91e253441eb43a0614423a1c91bb830b8140b0dc906bc797245e2e275759584f4efcc5 + languageName: node + linkType: hard + +"mdn-data@npm:2.0.30": + version: 2.0.30 + resolution: "mdn-data@npm:2.0.30" + checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 + languageName: node + linkType: hard + +"memoizee@npm:^0.4.15": + version: 0.4.17 + resolution: "memoizee@npm:0.4.17" + dependencies: + d: "npm:^1.0.2" + es5-ext: "npm:^0.10.64" + es6-weak-map: "npm:^2.0.3" + event-emitter: "npm:^0.3.5" + is-promise: "npm:^2.2.2" + lru-queue: "npm:^0.1.0" + next-tick: "npm:^1.1.0" + timers-ext: "npm:^0.1.7" + checksum: 10c0/19821d055f0f641e79b718f91d6d89a6c92840643234a6f4e91d42aa330e8406f06c47d3828931e177c38830aa9b959710e5b7f0013be452af46d0f9eae4baf4 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"miller-rabin@npm:^4.0.0": + version: 4.0.1 + resolution: "miller-rabin@npm:4.0.1" + dependencies: + bn.js: "npm:^4.0.0" + brorand: "npm:^1.0.1" + bin: + miller-rabin: bin/miller-rabin + checksum: 10c0/26b2b96f6e49dbcff7faebb78708ed2f5f9ae27ac8cbbf1d7c08f83cf39bed3d418c0c11034dce997da70d135cc0ff6f3a4c15dc452f8e114c11986388a64346 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: 10c0/7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 + languageName: node + linkType: hard + +"minimatch@npm:9.0.3": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac + languageName: node + linkType: hard + +"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec + languageName: node + linkType: hard + +"mkdirp@npm:^0.5.1": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: "npm:^1.2.6" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 + languageName: node + linkType: hard + +"mlly@npm:^1.7.3, mlly@npm:^1.7.4": + version: 1.8.0 + resolution: "mlly@npm:1.8.0" + dependencies: + acorn: "npm:^8.15.0" + pathe: "npm:^2.0.3" + pkg-types: "npm:^1.3.1" + ufo: "npm:^1.6.1" + checksum: 10c0/f174b844ae066c71e9b128046677868e2e28694f0bbeeffbe760b2a9d8ff24de0748d0fde6fabe706700c1d2e11d3c0d7a53071b5ea99671592fac03364604ab + languageName: node + linkType: hard + +"moment@npm:^2.30.1": + version: 2.30.1 + resolution: "moment@npm:2.30.1" + checksum: 10c0/865e4279418c6de666fca7786607705fd0189d8a7b7624e2e56be99290ac846f90878a6f602e34b4e0455c549b85385b1baf9966845962b313699e7cb847543a + languageName: node + linkType: hard + +"mri@npm:^1.1.0": + version: 1.2.0 + resolution: "mri@npm:1.2.0" + checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 + languageName: node + linkType: hard + +"mrmime@npm:^2.0.0": + version: 2.0.1 + resolution: "mrmime@npm:2.0.1" + checksum: 10c0/af05afd95af202fdd620422f976ad67dc18e6ee29beb03dd1ce950ea6ef664de378e44197246df4c7cdd73d47f2e7143a6e26e473084b9e4aa2095c0ad1e1761 + languageName: node + linkType: hard + +"ms@npm:^2.1.1, ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + +"nano-seconds@npm:^1.2.2": + version: 1.2.2 + resolution: "nano-seconds@npm:1.2.2" + checksum: 10c0/b594187e9325dc39eedddbc707a7251ab59cd36d3c1dcc32dc4dceb24cfafb7dfad929961311ad7a484382673f9d3a4cbcf9d764ee8f35ac00052f531fc0dd3e + languageName: node + linkType: hard + +"nanoid@npm:^3.3.11": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"next-tick@npm:^1.1.0": + version: 1.1.0 + resolution: "next-tick@npm:1.1.0" + checksum: 10c0/3ba80dd805fcb336b4f52e010992f3e6175869c8d88bf4ff0a81d5d66e6049f89993463b28211613e58a6b7fe93ff5ccbba0da18d4fa574b96289e8f0b577f28 + languageName: node + linkType: hard + +"node-forge@npm:^1.3.1": + version: 1.3.1 + resolution: "node-forge@npm:1.3.1" + checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.4.2 + resolution: "node-gyp@npm:11.4.2" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/0bfd3e96770ed70f07798d881dd37b4267708966d868a0e585986baac487d9cf5831285579fd629a83dc4e434f53e6416ce301097f2ee464cb74d377e4d8bdbe + languageName: node + linkType: hard + +"node-releases@npm:^2.0.21": + version: 2.0.21 + resolution: "node-releases@npm:2.0.21" + checksum: 10c0/0eb94916eeebbda9d51da6a9ea47428a12b2bb0dd94930c949632b0c859356abf53b2e5a2792021f96c5fda4f791a8e195f2375b78ae7dba8d8bc3141baa1469 + languageName: node + linkType: hard + +"node-stdlib-browser@npm:^1.2.0": + version: 1.3.1 + resolution: "node-stdlib-browser@npm:1.3.1" + dependencies: + assert: "npm:^2.0.0" + browser-resolve: "npm:^2.0.0" + browserify-zlib: "npm:^0.2.0" + buffer: "npm:^5.7.1" + console-browserify: "npm:^1.1.0" + constants-browserify: "npm:^1.0.0" + create-require: "npm:^1.1.1" + crypto-browserify: "npm:^3.12.1" + domain-browser: "npm:4.22.0" + events: "npm:^3.0.0" + https-browserify: "npm:^1.0.0" + isomorphic-timers-promises: "npm:^1.0.1" + os-browserify: "npm:^0.3.0" + path-browserify: "npm:^1.0.1" + pkg-dir: "npm:^5.0.0" + process: "npm:^0.11.10" + punycode: "npm:^1.4.1" + querystring-es3: "npm:^0.2.1" + readable-stream: "npm:^3.6.0" + stream-browserify: "npm:^3.0.0" + stream-http: "npm:^3.2.0" + string_decoder: "npm:^1.0.0" + timers-browserify: "npm:^2.0.4" + tty-browserify: "npm:0.0.1" + url: "npm:^0.11.4" + util: "npm:^0.12.4" + vm-browserify: "npm:^1.0.1" + checksum: 10c0/5b0cb5d4499b1b1c73f54db3e9e69b2a3a8aebe2ead2e356b0a03c1dfca6b5c5d2f6516e24301e76dc7b68999b9d0ae3da6c3f1dec421eed80ad6cb9eec0f356 + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: 10c0/bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 + languageName: node + linkType: hard + +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba + languageName: node + linkType: hard + +"object-assign@npm:^4.0.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-hash@npm:^3.0.0": + version: 3.0.0 + resolution: "object-hash@npm:3.0.0" + checksum: 10c0/a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 + languageName: node + linkType: hard + +"object-is@npm:^1.1.5": + version: 1.1.6 + resolution: "object-is@npm:1.1.6" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + checksum: 10c0/506af444c4dce7f8e31f34fc549e2fb8152d6b9c4a30c6e62852badd7f520b579c679af433e7a072f9d78eb7808d230dc12e1cf58da9154dfbf8813099ea0fe0 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b + languageName: node + linkType: hard + +"object.groupby@npm:^1.0.3": + version: 1.0.3 + resolution: "object.groupby@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + checksum: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c + languageName: node + linkType: hard + +"object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + languageName: node + linkType: hard + +"os-browserify@npm:^0.3.0": + version: 0.3.0 + resolution: "os-browserify@npm:0.3.0" + checksum: 10c0/6ff32cb1efe2bc6930ad0fd4c50e30c38010aee909eba8d65be60af55efd6cbb48f0287e3649b4e3f3a63dce5a667b23c187c4293a75e557f0d5489d735bcf52 + languageName: node + linkType: hard + +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.2.6" + object-keys: "npm:^1.1.1" + safe-push-apply: "npm:^1.0.0" + checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-limit@npm:^5.0.0": + version: 5.0.0 + resolution: "p-limit@npm:5.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 10c0/574e93b8895a26e8485eb1df7c4b58a1a6e8d8ae41b1750cc2cc440922b3d306044fc6e9a7f74578a883d46802d9db72b30f2e612690fcef838c173261b1ed83 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"pako@npm:^2.0.4, pako@npm:^2.1.0": + version: 2.1.0 + resolution: "pako@npm:2.1.0" + checksum: 10c0/8e8646581410654b50eb22a5dfd71159cae98145bd5086c9a7a816ec0370b5f72b4648d08674624b3870a521e6a3daffd6c2f7bc00fdefc7063c9d8232ff5116 + languageName: node + linkType: hard + +"pako@npm:~1.0.5": + version: 1.0.11 + resolution: "pako@npm:1.0.11" + checksum: 10c0/86dd99d8b34c3930345b8bbeb5e1cd8a05f608eeb40967b293f72fe469d0e9c88b783a8777e4cc7dc7c91ce54c5e93d88ff4b4f060e6ff18408fd21030d9ffbe + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.9": + version: 5.1.9 + resolution: "parse-asn1@npm:5.1.9" + dependencies: + asn1.js: "npm:^4.10.1" + browserify-aes: "npm:^1.2.0" + evp_bytestokey: "npm:^1.0.3" + pbkdf2: "npm:^3.1.5" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/6dfe27c121be3d63ebbf95f03d2ae0a07dd716d44b70b0bd3458790a822a80de05361c62147271fd7b845dcc2d37755d9c9c393064a3438fe633779df0bc07e7 + languageName: node + linkType: hard + +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"pathe@npm:^1.1.1": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 + languageName: node + linkType: hard + +"pathe@npm:^2.0.1, pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 + languageName: node + linkType: hard + +"pathval@npm:^1.1.1": + version: 1.1.1 + resolution: "pathval@npm:1.1.1" + checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc + languageName: node + linkType: hard + +"pbkdf2@npm:^3.1.2, pbkdf2@npm:^3.1.5": + version: 3.1.5 + resolution: "pbkdf2@npm:3.1.5" + dependencies: + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + ripemd160: "npm:^2.0.3" + safe-buffer: "npm:^5.2.1" + sha.js: "npm:^2.4.12" + to-buffer: "npm:^1.2.1" + checksum: 10c0/ea42e8695e49417eefabb19a08ab19a602cc6cc72d2df3f109c39309600230dee3083a6f678d5d42fe035d6ae780038b80ace0e68f9792ee2839bf081fe386f3 + languageName: node + linkType: hard + +"periscopic@npm:^3.1.0": + version: 3.1.0 + resolution: "periscopic@npm:3.1.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^3.0.0" + is-reference: "npm:^3.0.0" + checksum: 10c0/fb5ce7cd810c49254cdf1cd3892811e6dd1a1dfbdf5f10a0a33fb7141baac36443c4cad4f0e2b30abd4eac613f6ab845c2bc1b7ce66ae9694c7321e6ada5bd96 + languageName: node + linkType: hard + +"picocolors@npm:^1, picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 + languageName: node + linkType: hard + +"pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc + languageName: node + linkType: hard + +"pirates@npm:^4.0.1": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a + languageName: node + linkType: hard + +"pkg-dir@npm:^5.0.0": + version: 5.0.0 + resolution: "pkg-dir@npm:5.0.0" + dependencies: + find-up: "npm:^5.0.0" + checksum: 10c0/793a496d685dc55bbbdbbb22d884535c3b29241e48e3e8d37e448113a71b9e42f5481a61fdc672d7322de12fbb2c584dd3a68bf89b18fffce5c48a390f911bc5 + languageName: node + linkType: hard + +"pkg-types@npm:^1.2.1, pkg-types@npm:^1.3.1": + version: 1.3.1 + resolution: "pkg-types@npm:1.3.1" + dependencies: + confbox: "npm:^0.1.8" + mlly: "npm:^1.7.4" + pathe: "npm:^2.0.1" + checksum: 10c0/19e6cb8b66dcc66c89f2344aecfa47f2431c988cfa3366bdfdcfb1dd6695f87dcce37fbd90fe9d1605e2f4440b77f391e83c23255347c35cf84e7fd774d7fcea + languageName: node + linkType: hard + +"playwright-core@npm:1.55.1": + version: 1.55.1 + resolution: "playwright-core@npm:1.55.1" + bin: + playwright-core: cli.js + checksum: 10c0/39837a8c1232ec27486eac8c3fcacc0b090acc64310f7f9004b06715370fc426f944e3610fe8c29f17cd3d68280ed72c75f660c02aa5b5cf0eb34bab0031308f + languageName: node + linkType: hard + +"playwright@npm:1.55.1": + version: 1.55.1 + resolution: "playwright@npm:1.55.1" + dependencies: + fsevents: "npm:2.3.2" + playwright-core: "npm:1.55.1" + dependenciesMeta: + fsevents: + optional: true + bin: + playwright: cli.js + checksum: 10c0/b84a97b0d764403df512f5bbb10c7343974e151a28202cc06f90883a13e8a45f4491a0597f0ae5fb03a026746cbc0d200f0f32195bfaa381aee5ca5770626771 + languageName: node + linkType: hard + +"possible-typed-array-names@npm:^1.0.0": + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 + languageName: node + linkType: hard + +"postcss-import@npm:^15.1.0": + version: 15.1.0 + resolution: "postcss-import@npm:15.1.0" + dependencies: + postcss-value-parser: "npm:^4.0.0" + read-cache: "npm:^1.0.0" + resolve: "npm:^1.1.7" + peerDependencies: + postcss: ^8.0.0 + checksum: 10c0/518aee5c83ea6940e890b0be675a2588db68b2582319f48c3b4e06535a50ea6ee45f7e63e4309f8754473245c47a0372632378d1d73d901310f295a92f26f17b + languageName: node + linkType: hard + +"postcss-js@npm:^4, postcss-js@npm:^4.0.1": + version: 4.1.0 + resolution: "postcss-js@npm:4.1.0" + dependencies: + camelcase-css: "npm:^2.0.1" + peerDependencies: + postcss: ^8.4.21 + checksum: 10c0/a3cf6e725f3e9ecd7209732f8844a0063a1380b718ccbcf93832b6ec2cd7e63ff70dd2fed49eb2483c7482296860a0f7badd3115b5d0fa05ea648eb6d9dfc9c6 + languageName: node + linkType: hard + +"postcss-load-config@npm:^3.1.4": + version: 3.1.4 + resolution: "postcss-load-config@npm:3.1.4" + dependencies: + lilconfig: "npm:^2.0.5" + yaml: "npm:^1.10.2" + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + checksum: 10c0/7d2cc6695c2fc063e4538316d651a687fdb55e48db453ff699de916a6ee55ab68eac2b120c28a6b8ca7aa746a588888351b810a215b5cd090eabea62c5762ede + languageName: node + linkType: hard + +"postcss-load-config@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-load-config@npm:4.0.2" + dependencies: + lilconfig: "npm:^3.0.0" + yaml: "npm:^2.3.4" + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + checksum: 10c0/3d7939acb3570b0e4b4740e483d6e555a3e2de815219cb8a3c8fc03f575a6bde667443aa93369c0be390af845cb84471bf623e24af833260de3a105b78d42519 + languageName: node + linkType: hard + +"postcss-nested@npm:^6.2.0": + version: 6.2.0 + resolution: "postcss-nested@npm:6.2.0" + dependencies: + postcss-selector-parser: "npm:^6.1.1" + peerDependencies: + postcss: ^8.2.14 + checksum: 10c0/7f9c3f2d764191a39364cbdcec350f26a312431a569c9ef17408021424726b0d67995ff5288405e3724bb7152a4c92f73c027e580ec91e798800ed3c52e2bc6e + languageName: node + linkType: hard + +"postcss-safe-parser@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-safe-parser@npm:6.0.0" + peerDependencies: + postcss: ^8.3.3 + checksum: 10c0/5b0997b63de6ab4afb4b718a52dd7902e465c21d1f2e516762bcb59047787459b4dc5713132f6a19c9c8c483043b20b8a380a55fb61152ee66cbffcddf3b57f0 + languageName: node + linkType: hard + +"postcss-scss@npm:^4.0.9": + version: 4.0.9 + resolution: "postcss-scss@npm:4.0.9" + peerDependencies: + postcss: ^8.4.29 + checksum: 10c0/f917ecfd4b9113a6648e966a41f027ff7e14238393914978d44596e227a50f084667dc8818742348dc7d8b20130b30d4259aca1d4db86754a9c141202ae03714 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.1.0, postcss-selector-parser@npm:^6.1.1, postcss-selector-parser@npm:^6.1.2": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 + languageName: node + linkType: hard + +"postcss@npm:^8.4.32, postcss@npm:^8.4.38, postcss@npm:^8.4.39, postcss@npm:^8.4.43, postcss@npm:^8.4.47, postcss@npm:^8.5.3": + version: 8.5.6 + resolution: "postcss@npm:8.5.6" + dependencies: + nanoid: "npm:^3.3.11" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/5127cc7c91ed7a133a1b7318012d8bfa112da9ef092dddf369ae699a1f10ebbd89b1b9f25f3228795b84585c72aabd5ced5fc11f2ba467eedf7b081a66fad024 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + +"public-encrypt@npm:^4.0.3": + version: 4.0.3 + resolution: "public-encrypt@npm:4.0.3" + dependencies: + bn.js: "npm:^4.1.0" + browserify-rsa: "npm:^4.0.0" + create-hash: "npm:^1.1.0" + parse-asn1: "npm:^5.0.0" + randombytes: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/6c2cc19fbb554449e47f2175065d6b32f828f9b3badbee4c76585ac28ae8641aafb9bb107afc430c33c5edd6b05dbe318df4f7d6d7712b1093407b11c4280700 + languageName: node + linkType: hard + +"punycode@npm:^1.4.1": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: 10c0/354b743320518aef36f77013be6e15da4db24c2b4f62c5f1eb0529a6ed02fbaf1cb52925785f6ab85a962f2b590d9cd5ad730b70da72b5f180e2556b8bd3ca08 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"qs@npm:^6.11.2, qs@npm:^6.12.3": + version: 6.14.0 + resolution: "qs@npm:6.14.0" + dependencies: + side-channel: "npm:^1.1.0" + checksum: 10c0/8ea5d91bf34f440598ee389d4a7d95820e3b837d3fd9f433871f7924801becaa0cd3b3b4628d49a7784d06a8aea9bc4554d2b6d8d584e2d221dc06238a42909c + languageName: node + linkType: hard + +"querystring-es3@npm:^0.2.1": + version: 0.2.1 + resolution: "querystring-es3@npm:0.2.1" + checksum: 10c0/476938c1adb45c141f024fccd2ffd919a3746e79ed444d00e670aad68532977b793889648980e7ca7ff5ffc7bfece623118d0fbadcaf217495eeb7059ae51580 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"randomfill@npm:^1.0.4": + version: 1.0.4 + resolution: "randomfill@npm:1.0.4" + dependencies: + randombytes: "npm:^2.0.5" + safe-buffer: "npm:^5.1.0" + checksum: 10c0/11aeed35515872e8f8a2edec306734e6b74c39c46653607f03c68385ab8030e2adcc4215f76b5e4598e028c4750d820afd5c65202527d831d2a5f207fe2bc87c + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + +"read-cache@npm:^1.0.0": + version: 1.0.0 + resolution: "read-cache@npm:1.0.0" + dependencies: + pify: "npm:^2.3.0" + checksum: 10c0/90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 + languageName: node + linkType: hard + +"readable-stream@npm:^2.3.8": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa + languageName: node + linkType: hard + +"readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"reconnecting-websocket@npm:^4.4.0": + version: 4.4.0 + resolution: "reconnecting-websocket@npm:4.4.0" + checksum: 10c0/0155223200882e123bc884eb5935bdff7ee4d2998eee578c23bba6a6fec63b68c22ccaf9ff4bdcd05284568d89f02e6a664cc40daf108872f820197848b09579 + languageName: node + linkType: hard + +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.1" + which-builtin-type: "npm:^1.2.1" + checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.5.4": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-errors: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab + languageName: node + linkType: hard + +"resolve@npm:^1.1.7, resolve@npm:^1.17.0, resolve@npm:^1.22.2, resolve@npm:^1.22.4, resolve@npm:^1.22.8": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"rimraf@npm:^2.5.2": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: ./bin.js + checksum: 10c0/4eef73d406c6940927479a3a9dee551e14a54faf54b31ef861250ac815172bade86cc6f7d64a4dc5e98b65e4b18a2e1c9ff3b68d296be0c748413f092bb0dd40 + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1, ripemd160@npm:^2.0.3": + version: 2.0.3 + resolution: "ripemd160@npm:2.0.3" + dependencies: + hash-base: "npm:^3.1.2" + inherits: "npm:^2.0.4" + checksum: 10c0/3f472fb453241cfe692a77349accafca38dbcdc9d96d5848c088b2932ba41eb968630ecff7b175d291c7487a4945aee5a81e30c064d1f94e36070f7e0c37ed6c + languageName: node + linkType: hard + +"rollup@npm:^4.20.0, rollup@npm:^4.34.9": + version: 4.52.2 + resolution: "rollup@npm:4.52.2" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.52.2" + "@rollup/rollup-android-arm64": "npm:4.52.2" + "@rollup/rollup-darwin-arm64": "npm:4.52.2" + "@rollup/rollup-darwin-x64": "npm:4.52.2" + "@rollup/rollup-freebsd-arm64": "npm:4.52.2" + "@rollup/rollup-freebsd-x64": "npm:4.52.2" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.52.2" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.52.2" + "@rollup/rollup-linux-arm64-gnu": "npm:4.52.2" + "@rollup/rollup-linux-arm64-musl": "npm:4.52.2" + "@rollup/rollup-linux-loong64-gnu": "npm:4.52.2" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.52.2" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.52.2" + "@rollup/rollup-linux-riscv64-musl": "npm:4.52.2" + "@rollup/rollup-linux-s390x-gnu": "npm:4.52.2" + "@rollup/rollup-linux-x64-gnu": "npm:4.52.2" + "@rollup/rollup-linux-x64-musl": "npm:4.52.2" + "@rollup/rollup-openharmony-arm64": "npm:4.52.2" + "@rollup/rollup-win32-arm64-msvc": "npm:4.52.2" + "@rollup/rollup-win32-ia32-msvc": "npm:4.52.2" + "@rollup/rollup-win32-x64-gnu": "npm:4.52.2" + "@rollup/rollup-win32-x64-msvc": "npm:4.52.2" + "@types/estree": "npm:1.0.8" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loong64-gnu": + optional: true + "@rollup/rollup-linux-ppc64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-openharmony-arm64": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-gnu": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/2d457b11bbb904f40bde943acb1a784732ef8d8ce7d528e1dc955f6d11df4f9c6ac7885675bac677cface13e420b63dfc8eea959446fbb3329841e49767f7e7d + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"sade@npm:^1.7.4, sade@npm:^1.8.1": + version: 1.8.1 + resolution: "sade@npm:1.8.1" + dependencies: + mri: "npm:^1.1.0" + checksum: 10c0/da8a3a5d667ad5ce3bf6d4f054bbb9f711103e5df21003c5a5c1a8a77ce12b640ed4017dd423b13c2307ea7e645adee7c2ae3afe8051b9db16a6f6d3da3f90b1 + languageName: node + linkType: hard + +"safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + has-symbols: "npm:^1.1.0" + isarray: "npm:^2.0.5" + checksum: 10c0/43c86ffdddc461fb17ff8a17c5324f392f4868f3c7dd2c6a5d9f5971713bc5fd755667212c80eab9567595f9a7509cc2f83e590ddaebd1bd19b780f9c79f9a8d + languageName: node + linkType: hard + +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + isarray: "npm:^2.0.5" + checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-regex: "npm:^1.2.1" + checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sander@npm:^0.5.0": + version: 0.5.1 + resolution: "sander@npm:0.5.1" + dependencies: + es6-promise: "npm:^3.1.2" + graceful-fs: "npm:^4.1.3" + mkdirp: "npm:^0.5.1" + rimraf: "npm:^2.5.2" + checksum: 10c0/ce1e423fe5b4e57926df7cc6bd24b70271adfbe7b8ff995784f98101878e037327ac31c7a4e317ac3e1579f410e41a477fef40c2376f0dfa4499c8864a26f499 + languageName: node + linkType: hard + +"scrypt-js@npm:3.0.1": + version: 3.0.1 + resolution: "scrypt-js@npm:3.0.1" + checksum: 10c0/e2941e1c8b5c84c7f3732b0153fee624f5329fc4e772a06270ee337d4d2df4174b8abb5e6ad53804a29f53890ecbc78f3775a319323568c0313040c0e55f5b10 + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.0.0, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.2": + version: 7.7.2 + resolution: "semver@npm:7.7.2" + bin: + semver: bin/semver.js + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.0": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 + languageName: node + linkType: hard + +"set-cookie-parser@npm:^2.6.0": + version: 2.7.1 + resolution: "set-cookie-parser@npm:2.7.1" + checksum: 10c0/060c198c4c92547ac15988256f445eae523f57f2ceefeccf52d30d75dedf6bff22b9c26f756bd44e8e560d44ff4ab2130b178bd2e52ef5571bf7be3bd7632d9a + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.2": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.2": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + functions-have-names: "npm:^1.2.3" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 + languageName: node + linkType: hard + +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.4": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49 + languageName: node + linkType: hard + +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.12, sha.js@npm:^2.4.8": + version: 2.4.12 + resolution: "sha.js@npm:2.4.12" + dependencies: + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + to-buffer: "npm:^1.2.0" + bin: + sha.js: bin.js + checksum: 10c0/9d36bdd76202c8116abbe152a00055ccd8a0099cb28fc17c01fa7bb2c8cffb9ca60e2ab0fe5f274ed6c45dc2633d8c39cf7ab050306c231904512ba9da4d8ab1 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 + languageName: node + linkType: hard + +"side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 + languageName: node + linkType: hard + +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"sirv@npm:^3.0.0": + version: 3.0.2 + resolution: "sirv@npm:3.0.2" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10c0/5930e4397afdb14fbae13751c3be983af4bda5c9aadec832607dc2af15a7162f7d518c71b30e83ae3644b9a24cea041543cc969e5fe2b80af6ce8ea3174b2d04 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socket.io-client@npm:^4.7.4": + version: 4.8.1 + resolution: "socket.io-client@npm:4.8.1" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.2" + engine.io-client: "npm:~6.6.1" + socket.io-parser: "npm:~4.2.4" + checksum: 10c0/544c49cc8cc77118ef68b758a8a580c8e680a5909cae05c566d2cc07ec6cd6720a4f5b7e985489bf2a8391749177a5437ac30b8afbdf30b9da6402687ad51c86 + languageName: node + linkType: hard + +"socket.io-parser@npm:~4.2.4": + version: 4.2.4 + resolution: "socket.io-parser@npm:4.2.4" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.1" + checksum: 10c0/9383b30358fde4a801ea4ec5e6860915c0389a091321f1c1f41506618b5cf7cd685d0a31c587467a0c4ee99ef98c2b99fb87911f9dfb329716c43b587f29ca48 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.7 + resolution: "socks@npm:2.8.7" + dependencies: + ip-address: "npm:^10.0.1" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/2805a43a1c4bcf9ebf6e018268d87b32b32b06fbbc1f9282573583acc155860dc361500f89c73bfbb157caa1b4ac78059eac0ef15d1811eb0ca75e0bdadbc9d2 + languageName: node + linkType: hard + +"sorcery@npm:^0.11.0": + version: 0.11.1 + resolution: "sorcery@npm:0.11.1" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + buffer-crc32: "npm:^1.0.0" + minimist: "npm:^1.2.0" + sander: "npm:^0.5.0" + bin: + sorcery: bin/sorcery + checksum: 10c0/b111350df1c6412d5d71b0e72db630dcc90fc99dc9fc61dc4355a2de17f5a6951453d6430d908ee92b9da03628fd9f4361fe2e261c604dcb000e89152c134f1b + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + +"std-env@npm:^3.5.0": + version: 3.9.0 + resolution: "std-env@npm:3.9.0" + checksum: 10c0/4a6f9218aef3f41046c3c7ecf1f98df00b30a07f4f35c6d47b28329bc2531eef820828951c7d7b39a1c5eb19ad8a46e3ddfc7deb28f0a2f3ceebee11bab7ba50 + languageName: node + linkType: hard + +"stop-iteration-iterator@npm:^1.1.0": + version: 1.1.0 + resolution: "stop-iteration-iterator@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + internal-slot: "npm:^1.1.0" + checksum: 10c0/de4e45706bb4c0354a4b1122a2b8cc45a639e86206807ce0baf390ee9218d3ef181923fa4d2b67443367c491aa255c5fbaa64bb74648e3c5b48299928af86c09 + languageName: node + linkType: hard + +"stream-browserify@npm:^3.0.0": + version: 3.0.0 + resolution: "stream-browserify@npm:3.0.0" + dependencies: + inherits: "npm:~2.0.4" + readable-stream: "npm:^3.5.0" + checksum: 10c0/ec3b975a4e0aa4b3dc5e70ffae3fc8fd29ac725353a14e72f213dff477b00330140ad014b163a8cbb9922dfe90803f81a5ea2b269e1bbfd8bd71511b88f889ad + languageName: node + linkType: hard + +"stream-http@npm:^3.2.0": + version: 3.2.0 + resolution: "stream-http@npm:3.2.0" + dependencies: + builtin-status-codes: "npm:^3.0.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.6.0" + xtend: "npm:^4.0.2" + checksum: 10c0/f128fb8076d60cd548f229554b6a1a70c08a04b7b2afd4dbe7811d20f27f7d4112562eb8bce86d72a8691df3b50573228afcf1271e55e81f981536c67498bc41 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-data-property: "npm:^1.1.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-object-atoms: "npm:^1.0.0" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6 + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 + languageName: node + linkType: hard + +"string_decoder@npm:^1.0.0, string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce + languageName: node + linkType: hard + +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: "npm:^1.0.0" + checksum: 10c0/ae0deaf41c8d1001c5d4fbe16cb553865c1863da4fae036683b474fa926af9fc121e155cb3fc57a68262b2ae7d5b8420aa752c97a6428c315d00efe2a3875679 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strip-literal@npm:^2.0.0": + version: 2.1.1 + resolution: "strip-literal@npm:2.1.1" + dependencies: + js-tokens: "npm:^9.0.1" + checksum: 10c0/66a7353f5ba1ae6a4fb2805b4aba228171847200640083117c41512692e6b2c020e18580402984f55c0ae69c30f857f9a55abd672863e4ca8fdb463fdf93ba19 + languageName: node + linkType: hard + +"sucrase@npm:^3.35.0": + version: 3.35.0 + resolution: "sucrase@npm:3.35.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.2" + commander: "npm:^4.0.0" + glob: "npm:^10.3.10" + lines-and-columns: "npm:^1.1.6" + mz: "npm:^2.7.0" + pirates: "npm:^4.0.1" + ts-interface-checker: "npm:^0.1.9" + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"svelte-carousel@npm:^1.0.25": + version: 1.0.25 + resolution: "svelte-carousel@npm:1.0.25" + dependencies: + easy-reactive: "npm:1.0.4" + checksum: 10c0/3ec132a568d12c95851dfa21c05b94a7ea6b8013ca0f0f13aa6a6bfbce95258acefa69e0f8ccfaba1db17e5e06a77487cc0dcfa06cfe3b0d766e82170e5e38a3 + languageName: node + linkType: hard + +"svelte-check@npm:^3.6.0": + version: 3.8.6 + resolution: "svelte-check@npm:3.8.6" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.17" + chokidar: "npm:^3.4.1" + picocolors: "npm:^1.0.0" + sade: "npm:^1.7.4" + svelte-preprocess: "npm:^5.1.3" + typescript: "npm:^5.0.3" + peerDependencies: + svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 + bin: + svelte-check: bin/svelte-check + checksum: 10c0/2b94b0b085e6f3fb0bc92e2aa8d29b3372df3d9ebf0d985114bc18622556607ccdfdc774fe12bb6c92b38718e5f06040f37d6eda40d843a1d78d446c47aa86b5 + languageName: node + linkType: hard + +"svelte-cleavejs@npm:^1.0.3": + version: 1.0.3 + resolution: "svelte-cleavejs@npm:1.0.3" + dependencies: + cleave.js: "npm:^1.6.0" + checksum: 10c0/4f81235adc402eddac3ac73e626f757d6d154d1b2b4ec4fd23eec64b9ffe5eeb4c04dbe9181d454aecbfb9ac84fb9baf74a255098f30a88672c4da4cdecefffb + languageName: node + linkType: hard + +"svelte-eslint-parser@npm:^0.43.0": + version: 0.43.0 + resolution: "svelte-eslint-parser@npm:0.43.0" + dependencies: + eslint-scope: "npm:^7.2.2" + eslint-visitor-keys: "npm:^3.4.3" + espree: "npm:^9.6.1" + postcss: "npm:^8.4.39" + postcss-scss: "npm:^4.0.9" + peerDependencies: + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true + checksum: 10c0/52bbbf5d266fc36f64626e38d8de4354d78a5490fa60b61b1cd127c1c661d94f0c671a220e3ed7dd92b144a3c99f517d5205c218f78feea0603132f24eeb4c9d + languageName: node + linkType: hard + +"svelte-french-toast@npm:^1.2.0": + version: 1.2.0 + resolution: "svelte-french-toast@npm:1.2.0" + dependencies: + svelte-writable-derived: "npm:^3.1.0" + peerDependencies: + svelte: ^3.57.0 || ^4.0.0 + checksum: 10c0/ea0346ef28d43f7fc2e6413effbcc863f9d3c688ba175c56b0654e7c11f2630d2c5acb55b04de47dabb74541233123e8f167af63b661fa3c1f905150963d92f3 + languageName: node + linkType: hard + +"svelte-hmr@npm:^0.16.0": + version: 0.16.0 + resolution: "svelte-hmr@npm:0.16.0" + peerDependencies: + svelte: ^3.19.0 || ^4.0.0 + checksum: 10c0/242c0775361b5e8e0c19550ce0f8d27f738c31f45684b8a8beb88e2cce931078ffab0a6793002b4879c2637fa698d559020e78cab40756be11341602284ed01e + languageName: node + linkType: hard + +"svelte-i18n@npm:^4.0.0": + version: 4.0.1 + resolution: "svelte-i18n@npm:4.0.1" + dependencies: + cli-color: "npm:^2.0.3" + deepmerge: "npm:^4.2.2" + esbuild: "npm:^0.19.2" + estree-walker: "npm:^2" + intl-messageformat: "npm:^10.5.3" + sade: "npm:^1.8.1" + tiny-glob: "npm:^0.2.9" + peerDependencies: + svelte: ^3 || ^4 || ^5 + bin: + svelte-i18n: dist/cli.js + checksum: 10c0/e64bd9450d18368e55722b2d367b3245ed1bb9dc0522646b55f398834c0669f76840d6ea788e0fe2a62e7dd4807f1ec03874469f2616637ef0adcec2c63477d1 + languageName: node + linkType: hard + +"svelte-infinite-loading@npm:^1.4.0": + version: 1.4.0 + resolution: "svelte-infinite-loading@npm:1.4.0" + checksum: 10c0/450174422bd522f2c3688608460c9b1f1e196067f9201b97c08196114e6b11b57acb7ec78bb9bdd1b8ca2a72b3868f1ba4158ee3bc57cc5d00dde93f6d363bc4 + languageName: node + linkType: hard + +"svelte-lightweight-charts@npm:^2.2.0": + version: 2.2.0 + resolution: "svelte-lightweight-charts@npm:2.2.0" + peerDependencies: + lightweight-charts: ">=4.0.0" + svelte: ">=3.44.0" + checksum: 10c0/47e7165e5401f480f8a453b649f597c6fdb39ec3ddd581350a7631d45264467b7924a38846a03cd7be101ecc594b06a5edab6967d1d72f1de590f50230752c05 + languageName: node + linkType: hard + +"svelte-preprocess@npm:^5.1.3": + version: 5.1.4 + resolution: "svelte-preprocess@npm:5.1.4" + dependencies: + "@types/pug": "npm:^2.0.6" + detect-indent: "npm:^6.1.0" + magic-string: "npm:^0.30.5" + sorcery: "npm:^0.11.0" + strip-indent: "npm:^3.0.0" + peerDependencies: + "@babel/core": ^7.10.2 + coffeescript: ^2.5.1 + less: ^3.11.3 || ^4.0.0 + postcss: ^7 || ^8 + postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + pug: ^3.0.0 + sass: ^1.26.8 + stylus: ^0.55.0 + sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 + svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 + typescript: ">=3.9.5 || ^4.0.0 || ^5.0.0" + peerDependenciesMeta: + "@babel/core": + optional: true + coffeescript: + optional: true + less: + optional: true + postcss: + optional: true + postcss-load-config: + optional: true + pug: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + typescript: + optional: true + checksum: 10c0/fe968ee1d599a2c59c5a695e23cd3c2d15c5c316ce76ae644908521476f2e81b69dcf0cd3492deeb0a06140af497f994e4baf524d3d2c93986fad1c9267524ae + languageName: node + linkType: hard + +"svelte-writable-derived@npm:^3.1.0": + version: 3.1.1 + resolution: "svelte-writable-derived@npm:3.1.1" + peerDependencies: + svelte: ^3.2.1 || ^4.0.0-next.1 || ^5.0.0-next.94 + checksum: 10c0/3b8f2092c4ee38ace6a998c7602310ce90e993292b7f6aca55d7c3675e6b7b46a4451a6fcb6d701c9e76e41660669c3295f68faee76e904249005344d9c8c182 + languageName: node + linkType: hard + +"svelte@npm:^4.2.7": + version: 4.2.20 + resolution: "svelte@npm:4.2.20" + dependencies: + "@ampproject/remapping": "npm:^2.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + "@jridgewell/trace-mapping": "npm:^0.3.18" + "@types/estree": "npm:^1.0.1" + acorn: "npm:^8.9.0" + aria-query: "npm:^5.3.0" + axobject-query: "npm:^4.0.0" + code-red: "npm:^1.0.3" + css-tree: "npm:^2.3.1" + estree-walker: "npm:^3.0.3" + is-reference: "npm:^3.0.1" + locate-character: "npm:^3.0.0" + magic-string: "npm:^0.30.4" + periscopic: "npm:^3.1.0" + checksum: 10c0/b51d5d01aa363f47c1631b6f4160754221bc8d234146d3ddeea6172928ad6554acc925c2fb39c31e5cab77ba6711f1c49f4c79e2e592eb4df4eb418b8793a0f9 + languageName: node + linkType: hard + +"tailwindcss@npm:^3.4.0": + version: 3.4.17 + resolution: "tailwindcss@npm:3.4.17" + dependencies: + "@alloc/quick-lru": "npm:^5.2.0" + arg: "npm:^5.0.2" + chokidar: "npm:^3.6.0" + didyoumean: "npm:^1.2.2" + dlv: "npm:^1.1.3" + fast-glob: "npm:^3.3.2" + glob-parent: "npm:^6.0.2" + is-glob: "npm:^4.0.3" + jiti: "npm:^1.21.6" + lilconfig: "npm:^3.1.3" + micromatch: "npm:^4.0.8" + normalize-path: "npm:^3.0.0" + object-hash: "npm:^3.0.0" + picocolors: "npm:^1.1.1" + postcss: "npm:^8.4.47" + postcss-import: "npm:^15.1.0" + postcss-js: "npm:^4.0.1" + postcss-load-config: "npm:^4.0.2" + postcss-nested: "npm:^6.2.0" + postcss-selector-parser: "npm:^6.1.2" + resolve: "npm:^1.22.8" + sucrase: "npm:^3.35.0" + bin: + tailwind: lib/cli.js + tailwindcss: lib/cli.js + checksum: 10c0/cc42c6e7fdf88a5507a0d7fea37f1b4122bec158977f8c017b2ae6828741f9e6f8cb90282c6bf2bd5951fd1220a53e0a50ca58f5c1c00eb7f5d9f8b80dc4523c + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.5.1 + resolution: "tar@npm:7.5.1" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/0dad0596a61586180981133b20c32cfd93c5863c5b7140d646714e6ea8ec84583b879e5dc3928a4d683be6e6109ad7ea3de1cf71986d5194f81b3a016c8858c9 + languageName: node + linkType: hard + +"technicalindicators@npm:^3.1.0": + version: 3.1.0 + resolution: "technicalindicators@npm:3.1.0" + dependencies: + "@types/node": "npm:^6.0.96" + checksum: 10c0/7119fde24b852a6c00301e2e2245ec02a8ab66932dff8bc0f5c1403406c0285f3b8567fd1ab1bbeacf795602a677f1be2b281da9e5ed4678ceaee56cae479fd5 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + +"timers-browserify@npm:^2.0.4": + version: 2.0.12 + resolution: "timers-browserify@npm:2.0.12" + dependencies: + setimmediate: "npm:^1.0.4" + checksum: 10c0/98e84db1a685bc8827c117a8bc62aac811ad56a995d07938fc7ed8cdc5bf3777bfe2d4e5da868847194e771aac3749a20f6cdd22091300fe889a76fe214a4641 + languageName: node + linkType: hard + +"timers-ext@npm:^0.1.7": + version: 0.1.8 + resolution: "timers-ext@npm:0.1.8" + dependencies: + es5-ext: "npm:^0.10.64" + next-tick: "npm:^1.1.0" + checksum: 10c0/d0222d0c171d08df69e51462e3fa2085744d13f8ac82b27597db05db1a09bc4244e03ea3cebe89ba279fd43f45daa39156acbe5b6ae5a9b9d62d300543312533 + languageName: node + linkType: hard + +"tiny-glob@npm:^0.2.9": + version: 0.2.9 + resolution: "tiny-glob@npm:0.2.9" + dependencies: + globalyzer: "npm:0.1.0" + globrex: "npm:^0.1.2" + checksum: 10c0/cbe072f0d213a1395d30aa94845a051d4af18fe8ffb79c8e99ac1787cd25df69083f17791a53997cb65f469f48950cb61426ccc0683cc9df170ac2430e883702 + languageName: node + linkType: hard + +"tinybench@npm:^2.5.1": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 + languageName: node + linkType: hard + +"tinypool@npm:^0.8.3": + version: 0.8.4 + resolution: "tinypool@npm:0.8.4" + checksum: 10c0/779c790adcb0316a45359652f4b025958c1dff5a82460fe49f553c864309b12ad732c8288be52f852973bc76317f5e7b3598878aee0beb8a33322c0e72c4a66c + languageName: node + linkType: hard + +"tinyspy@npm:^2.2.0": + version: 2.2.1 + resolution: "tinyspy@npm:2.2.1" + checksum: 10c0/0b4cfd07c09871e12c592dfa7b91528124dc49a4766a0b23350638c62e6a483d5a2a667de7e6282246c0d4f09996482ddaacbd01f0c05b7ed7e0f79d32409bdc + languageName: node + linkType: hard + +"to-buffer@npm:^1.2.0, to-buffer@npm:^1.2.1, to-buffer@npm:^1.2.2": + version: 1.2.2 + resolution: "to-buffer@npm:1.2.2" + dependencies: + isarray: "npm:^2.0.5" + safe-buffer: "npm:^5.2.1" + typed-array-buffer: "npm:^1.0.3" + checksum: 10c0/56bc56352f14a2c4a0ab6277c5fc19b51e9534882b98eb068b39e14146591e62fa5b06bf70f7fed1626230463d7e60dca81e815096656e5e01c195c593873d12 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863 + languageName: node + linkType: hard + +"ts-api-utils@npm:^1.0.1": + version: 1.4.3 + resolution: "ts-api-utils@npm:1.4.3" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/e65dc6e7e8141140c23e1dc94984bf995d4f6801919c71d6dc27cf0cd51b100a91ffcfe5217626193e5bea9d46831e8586febdc7e172df3f1091a7384299e23a + languageName: node + linkType: hard + +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.15.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" + dependencies: + "@types/json5": "npm:^0.0.29" + json5: "npm:^1.0.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 + languageName: node + linkType: hard + +"tslib@npm:^2.4.1, tslib@npm:^2.8.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"tty-browserify@npm:0.0.1": + version: 0.0.1 + resolution: "tty-browserify@npm:0.0.1" + checksum: 10c0/5e34883388eb5f556234dae75b08e069b9e62de12bd6d87687f7817f5569430a6dfef550b51dbc961715ae0cd0eb5a059e6e3fc34dc127ea164aa0f9b5bb033d + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-detect@npm:^4.0.0, type-detect@npm:^4.1.0": + version: 4.1.0 + resolution: "type-detect@npm:4.1.0" + checksum: 10c0/df8157ca3f5d311edc22885abc134e18ff8ffbc93d6a9848af5b682730ca6a5a44499259750197250479c5331a8a75b5537529df5ec410622041650a7f293e2a + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type@npm:^2.7.2": + version: 2.7.3 + resolution: "type@npm:2.7.3" + checksum: 10c0/dec6902c2c42fcb86e3adf8cdabdf80e5ef9de280872b5fd547351e9cca2fe58dd2aa6d2547626ddff174145db272f62d95c7aa7038e27c11315657d781a688d + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.15" + reflect.getprototypeof: "npm:^1.0.9" + checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53 + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + is-typed-array: "npm:^1.1.13" + possible-typed-array-names: "npm:^1.0.0" + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 + languageName: node + linkType: hard + +"typescript@npm:^5.0.3, typescript@npm:^5.3.3": + version: 5.9.2 + resolution: "typescript@npm:5.9.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/cd635d50f02d6cf98ed42de2f76289701c1ec587a363369255f01ed15aaf22be0813226bff3c53e99d971f9b540e0b3cc7583dbe05faded49b1b0bed2f638a18 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.0.3#optional!builtin, typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": + version: 5.9.2 + resolution: "typescript@patch:typescript@npm%3A5.9.2#optional!builtin::version=5.9.2&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/34d2a8e23eb8e0d1875072064d5e1d9c102e0bdce56a10a25c0b917b8aa9001a9cf5c225df12497e99da107dc379360bc138163c66b55b95f5b105b50578067e + languageName: node + linkType: hard + +"ufo@npm:^1.6.1": + version: 1.6.1 + resolution: "ufo@npm:1.6.1" + checksum: 10c0/5a9f041e5945fba7c189d5410508cbcbefef80b253ed29aa2e1f8a2b86f4bd51af44ee18d4485e6d3468c92be9bf4a42e3a2b72dcaf27ce39ce947ec994f1e6b + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + which-boxed-primitive: "npm:^1.1.1" + checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982 + languageName: node + linkType: hard + +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.3": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"url@npm:^0.11.4": + version: 0.11.4 + resolution: "url@npm:0.11.4" + dependencies: + punycode: "npm:^1.4.1" + qs: "npm:^6.12.3" + checksum: 10c0/cc93405ae4a9b97a2aa60ca67f1cb1481c0221cb4725a7341d149be5e2f9cfda26fd432d64dbbec693d16593b68b8a46aad8e5eab21f814932134c9d8620c662 + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"util@npm:^0.12.4, util@npm:^0.12.5": + version: 0.12.5 + resolution: "util@npm:0.12.5" + dependencies: + inherits: "npm:^2.0.3" + is-arguments: "npm:^1.0.4" + is-generator-function: "npm:^1.0.7" + is-typed-array: "npm:^1.1.3" + which-typed-array: "npm:^1.1.2" + checksum: 10c0/c27054de2cea2229a66c09522d0fa1415fb12d861d08523a8846bf2e4cbf0079d4c3f725f09dcb87493549bcbf05f5798dce1688b53c6c17201a45759e7253f3 + languageName: node + linkType: hard + +"uuid@npm:^9.0.0, uuid@npm:^9.0.1": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b + languageName: node + linkType: hard + +"vite-node@npm:1.6.1": + version: 1.6.1 + resolution: "vite-node@npm:1.6.1" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.3.4" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + vite: "npm:^5.0.0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/4d96da9f11bd0df8b60c46e65a740edaad7dd2d1aff3cdb3da5714ea8c10b5f2683111b60bfe45545c7e8c1f33e7e8a5095573d5e9ba55f50a845233292c2e02 + languageName: node + linkType: hard + +"vite-plugin-node-polyfills@npm:^0.19.0": + version: 0.19.0 + resolution: "vite-plugin-node-polyfills@npm:0.19.0" + dependencies: + "@rollup/plugin-inject": "npm:^5.0.5" + node-stdlib-browser: "npm:^1.2.0" + peerDependencies: + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + checksum: 10c0/807ab14d94a693a3f9ba1e46258eaf8bce9e663d0a5f6a31f43c82d1a95ae0df1a03855e103bf50fa08f7485ffbe201623bf7c78d2ba91075ec5eae1e8a42555 + languageName: node + linkType: hard + +"vite@npm:^5.0.0, vite@npm:^5.0.3": + version: 5.4.20 + resolution: "vite@npm:5.4.20" + dependencies: + esbuild: "npm:^0.21.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.43" + rollup: "npm:^4.20.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/391a1fdd7e05445d60aa3b15d6c1cffcdd92c5d154da375bf06b9cd5633c2387ebee0e8f2fceed3226a63dff36c8ef18fb497662dde8c135133c46670996c7a1 + languageName: node + linkType: hard + +"vite@npm:^6.3.4": + version: 6.3.6 + resolution: "vite@npm:6.3.6" + dependencies: + esbuild: "npm:^0.25.0" + fdir: "npm:^6.4.4" + fsevents: "npm:~2.3.3" + picomatch: "npm:^4.0.2" + postcss: "npm:^8.5.3" + rollup: "npm:^4.34.9" + tinyglobby: "npm:^0.2.13" + peerDependencies: + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/add701f1e72596c002275782e38d0389ab400c1be330c93a3009804d62db68097a936ca1c53c3301df3aaacfe5e328eab547060f31ef9c49a277ae50df6ad4fb + languageName: node + linkType: hard + +"vitefu@npm:^0.2.5": + version: 0.2.5 + resolution: "vitefu@npm:0.2.5" + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + checksum: 10c0/5781ece3025b6be0eb87ee7d97760a7721b1c6c5ad60ede5f37c86393ece3c8fce4245472f62368eb192448034086e25bdcadf098eefc271277176ab9a430204 + languageName: node + linkType: hard + +"vitefu@npm:^1.0.6": + version: 1.1.1 + resolution: "vitefu@npm:1.1.1" + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 + peerDependenciesMeta: + vite: + optional: true + checksum: 10c0/7e0d0dd6fb73bd80cb56a3f47ccc44159e0330c3e94b2951648079b35711226f9088dbe616d910b931740b92259230b874fbe351108b49f5c11b629b641292a5 + languageName: node + linkType: hard + +"vitest@npm:^1.2.0": + version: 1.6.1 + resolution: "vitest@npm:1.6.1" + dependencies: + "@vitest/expect": "npm:1.6.1" + "@vitest/runner": "npm:1.6.1" + "@vitest/snapshot": "npm:1.6.1" + "@vitest/spy": "npm:1.6.1" + "@vitest/utils": "npm:1.6.1" + acorn-walk: "npm:^8.3.2" + chai: "npm:^4.3.10" + debug: "npm:^4.3.4" + execa: "npm:^8.0.1" + local-pkg: "npm:^0.5.0" + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + strip-literal: "npm:^2.0.0" + tinybench: "npm:^2.5.1" + tinypool: "npm:^0.8.3" + vite: "npm:^5.0.0" + vite-node: "npm:1.6.1" + why-is-node-running: "npm:^2.2.2" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.6.1 + "@vitest/ui": 1.6.1 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: 10c0/511d27d7f697683964826db2fad7ac303f9bc7eeb59d9422111dc488371ccf1f9eed47ac3a80eb47ca86b7242228ba5ca9cc3613290830d0e916973768cac215 + languageName: node + linkType: hard + +"vm-browserify@npm:^1.0.1": + version: 1.1.2 + resolution: "vm-browserify@npm:1.1.2" + checksum: 10c0/0cc1af6e0d880deb58bc974921320c187f9e0a94f25570fca6b1bd64e798ce454ab87dfd797551b1b0cc1849307421aae0193cedf5f06bdb5680476780ee344b + languageName: node + linkType: hard + +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" + dependencies: + is-bigint: "npm:^1.1.0" + is-boolean-object: "npm:^1.2.1" + is-number-object: "npm:^1.1.1" + is-string: "npm:^1.1.1" + is-symbol: "npm:^1.1.1" + checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe + languageName: node + linkType: hard + +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + function.prototype.name: "npm:^1.1.6" + has-tostringtag: "npm:^1.0.2" + is-async-function: "npm:^2.0.0" + is-date-object: "npm:^1.1.0" + is-finalizationregistry: "npm:^1.1.0" + is-generator-function: "npm:^1.0.10" + is-regex: "npm:^1.2.1" + is-weakref: "npm:^1.0.2" + isarray: "npm:^2.0.5" + which-boxed-primitive: "npm:^1.1.0" + which-collection: "npm:^1.0.2" + which-typed-array: "npm:^1.1.16" + checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471 + languageName: node + linkType: hard + +"which-collection@npm:^1.0.2": + version: 1.0.2 + resolution: "which-collection@npm:1.0.2" + dependencies: + is-map: "npm:^2.0.3" + is-set: "npm:^2.0.3" + is-weakmap: "npm:^2.0.2" + is-weakset: "npm:^2.0.3" + checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2 + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19, which-typed-array@npm:^1.1.2": + version: 1.1.19 + resolution: "which-typed-array@npm:1.1.19" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + for-each: "npm:^0.3.5" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/702b5dc878addafe6c6300c3d0af5983b175c75fcb4f2a72dfc3dd38d93cf9e89581e4b29c854b16ea37e50a7d7fca5ae42ece5c273d8060dcd603b2404bbb3f + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"why-is-node-running@npm:^2.2.2": + version: 2.3.0 + resolution: "why-is-node-running@npm:2.3.0" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -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== - -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@^8.7.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== - -ws@~8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== - -xmlhttprequest-ssl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" - integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== - -xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -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.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yaml@^2.3.4: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.1.tgz#2e57e0b5e995292c25c75d2658f0664765210eed" - integrity sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"ws@npm:8.18.0": + version: 8.18.0 + resolution: "ws@npm:8.18.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + languageName: node + linkType: hard + +"ws@npm:^8.7.0": + version: 8.18.3 + resolution: "ws@npm:8.18.3" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/eac918213de265ef7cb3d4ca348b891a51a520d839aa51cdb8ca93d4fa7ff9f6ccb339ccee89e4075324097f0a55157c89fa3f7147bde9d8d7e90335dc087b53 + languageName: node + linkType: hard + +"ws@npm:~8.17.1": + version: 8.17.1 + resolution: "ws@npm:8.17.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe + languageName: node + linkType: hard + +"xmlhttprequest-ssl@npm:~2.1.1": + version: 2.1.2 + resolution: "xmlhttprequest-ssl@npm:2.1.2" + checksum: 10c0/70d60869323e823f473a238f78fd108437edbc3690ecd5859c39c83217080090a18899b272e515769c0d1f518cc64cbed6b6995b23fdd7ba13b297d530b6e631 + languageName: node + linkType: hard + +"xtend@npm:^4.0.2": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yaml@npm:^1.10.2": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f + languageName: node + linkType: hard + +"yaml@npm:^2.3.4": + version: 2.8.1 + resolution: "yaml@npm:2.8.1" + bin: + yaml: bin.mjs + checksum: 10c0/7c587be00d9303d2ae1566e03bc5bc7fe978ba0d9bf39cc418c3139d37929dfcb93a230d9749f2cb578b6aa5d9ebebc322415e4b653cb83acd8bc0bc321707f3 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"yocto-queue@npm:^1.0.0": + version: 1.2.1 + resolution: "yocto-queue@npm:1.2.1" + checksum: 10c0/5762caa3d0b421f4bdb7a1926b2ae2189fc6e4a14469258f183600028eb16db3e9e0306f46e8ebf5a52ff4b81a881f22637afefbef5399d6ad440824e9b27f9f + languageName: node + linkType: hard From 43e1133329d4f8f3fffa952a026d666015c93934 Mon Sep 17 00:00:00 2001 From: Faouzi JEDIDI Date: Thu, 25 Sep 2025 16:31:15 +0400 Subject: [PATCH 12/21] fix interface lint --- interface/package.json | 1 + interface/yarn.lock | 60 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/interface/package.json b/interface/package.json index 4c9d762d..506b32c7 100644 --- a/interface/package.json +++ b/interface/package.json @@ -38,6 +38,7 @@ "eslint-plugin-svelte": "^2.35.1", "svelte": "^4.2.7", "svelte-check": "^3.6.0", + "svelte-eslint-parser": "^1.3.3", "tslib": "^2.4.1", "typescript": "^5.3.3", "vite": "^5.0.3", diff --git a/interface/yarn.lock b/interface/yarn.lock index 7999bdb5..c895906a 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -3787,6 +3787,16 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^8.2.0": + version: 8.4.0 + resolution: "eslint-scope@npm:8.4.0" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/407f6c600204d0f3705bd557f81bd0189e69cd7996f408f8971ab5779c0af733d1af2f1412066b40ee1588b085874fc37a2333986c6521669cdbdd36ca5058e0 + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" @@ -3794,6 +3804,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^4.0.0, eslint-visitor-keys@npm:^4.2.1": + version: 4.2.1 + resolution: "eslint-visitor-keys@npm:4.2.1" + checksum: 10c0/fcd43999199d6740db26c58dbe0c2594623e31ca307e616ac05153c9272f12f1364f5a0b1917a8e962268fdecc6f3622c1c2908b4fcc2e047a106fe6de69dc43 + languageName: node + linkType: hard + "eslint@npm:^8.56.0": version: 8.57.1 resolution: "eslint@npm:8.57.1" @@ -3861,6 +3878,17 @@ __metadata: languageName: node linkType: hard +"espree@npm:^10.0.0": + version: 10.4.0 + resolution: "espree@npm:10.4.0" + dependencies: + acorn: "npm:^8.15.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/c63fe06131c26c8157b4083313cb02a9a54720a08e21543300e55288c40e06c3fc284bdecf108d3a1372c5934a0a88644c98714f38b6ae8ed272b40d9ea08d6b + languageName: node + linkType: hard + "espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" @@ -4697,6 +4725,7 @@ __metadata: svelte-carousel: "npm:^1.0.25" svelte-check: "npm:^3.6.0" svelte-cleavejs: "npm:^1.0.3" + svelte-eslint-parser: "npm:^1.3.3" svelte-french-toast: "npm:^1.2.0" svelte-i18n: "npm:^4.0.0" svelte-infinite-loading: "npm:^1.4.0" @@ -6284,6 +6313,16 @@ __metadata: languageName: node linkType: hard +"postcss-selector-parser@npm:^7.0.0": + version: 7.1.0 + resolution: "postcss-selector-parser@npm:7.1.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa + languageName: node + linkType: hard + "postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" @@ -6291,7 +6330,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.32, postcss@npm:^8.4.38, postcss@npm:^8.4.39, postcss@npm:^8.4.43, postcss@npm:^8.4.47, postcss@npm:^8.5.3": +"postcss@npm:^8.4.32, postcss@npm:^8.4.38, postcss@npm:^8.4.39, postcss@npm:^8.4.43, postcss@npm:^8.4.47, postcss@npm:^8.4.49, postcss@npm:^8.5.3": version: 8.5.6 resolution: "postcss@npm:8.5.6" dependencies: @@ -7302,6 +7341,25 @@ __metadata: languageName: node linkType: hard +"svelte-eslint-parser@npm:^1.3.3": + version: 1.3.3 + resolution: "svelte-eslint-parser@npm:1.3.3" + dependencies: + eslint-scope: "npm:^8.2.0" + eslint-visitor-keys: "npm:^4.0.0" + espree: "npm:^10.0.0" + postcss: "npm:^8.4.49" + postcss-scss: "npm:^4.0.9" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true + checksum: 10c0/f76dc2695c475244e71b53e478bf56113d02ee98e7e96bc141eb6b4f19cb2a0feb009f56e222628d31e9e79c4b0e3a7bcd8988924ffb9b0e15bd3b73bfd5394c + languageName: node + linkType: hard + "svelte-french-toast@npm:^1.2.0": version: 1.2.0 resolution: "svelte-french-toast@npm:1.2.0" From c8ab124cffc440da818fb7536f99f8634a222475 Mon Sep 17 00:00:00 2001 From: Faouzi JEDIDI Date: Thu, 25 Sep 2025 16:42:36 +0400 Subject: [PATCH 13/21] Update interface workflows --- .github/workflows/playwright.yml | 4 ++++ .github/workflows/vitest.yml | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 5d491bdb..6d788f49 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -102,6 +102,10 @@ jobs: JWT_SECRET: 6b23439e8fee67c5da38b61b8779e9f41a5e3e36efe723c6299dd2111896def6 ADMIN_PASSWORD: 123123 + - name: Sync SvelteKit config + run: yarn svelte-kit sync + working-directory: ./interface + - name: Install Playwright Browsers run: yarn dlx playwright install --with-deps working-directory: ./interface diff --git a/.github/workflows/vitest.yml b/.github/workflows/vitest.yml index c41740fd..84483bdb 100644 --- a/.github/workflows/vitest.yml +++ b/.github/workflows/vitest.yml @@ -1,4 +1,4 @@ -name: Runs All Unit Tests +name: Runs All interface Unit Tests on: push: branches: [ main ] @@ -43,5 +43,8 @@ jobs: env: YARN_ENABLE_HARDENED_MODE: 0 + - name: Sync SvelteKit config + run: yarn svelte-kit sync + - name: Execute Unit tests run: yarn test:unit From 017d9fa9ba6e130b739670fd7dd53d0eb2c895ac Mon Sep 17 00:00:00 2001 From: Faouzi JEDIDI Date: Thu, 25 Sep 2025 17:30:32 +0400 Subject: [PATCH 14/21] fix playwright tests --- interface/.yarn/install-state.gz | Bin 0 -> 805653 bytes interface/.yarnrc.yml | 1 + interface/package.json | 6 +++-- interface/playwright.config.ts | 42 +++++++++-------------------- interface/tsconfig.json | 44 ++++++++++++++++++------------- interface/vite.config.ts | 13 +++++++++ interface/yarn.lock | 33 ++++++++++++++--------- 7 files changed, 76 insertions(+), 63 deletions(-) create mode 100644 interface/.yarn/install-state.gz create mode 100644 interface/.yarnrc.yml diff --git a/interface/.yarn/install-state.gz b/interface/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..33fb743ede70b560949b7a88e3e6f4fb6a402c19 GIT binary patch literal 805653 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
H*Z@aCLly%B~Ax_ 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%0DIDm=+q@BM`z;nD%B+-N&<8ev}68P`#hed3mI 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

@o9~`WZvN5V_2@r(`@i=0KKf6+-79bY+28rz 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


4?E0tH#+8 z%{q3ksvUznnSG5gMyov32-qDPm@9LmhA&g|Hd<>PU3SKbYEDsk(?xON{=O& z_doqV-@=WL8jk15$Y~mM212d-LI+s8sGmbggq8~PVXf=6wGhGHV~m7dmZGsYf!2ct zve@Cu;^Q4-*3MJ9D=1A#M~3qf6vWV2_anF6seM8>Pfo;x%Q5sD+sPwH_G5_W-9k!Q z_PwzM0wq1srxJvbr?C@;<7i>Rjw@xeL4K1?V+DC*a)57V(>Of=8fVL7^zBF7zU%)u zKl|~k&+_G~&p#lreDvwN1LNy2`8^mPzW&aUgKB8)F5b^sw3pOiW9&Y#nL5x3T3iVQ$$^&{I&3@tAA9fF>uHi)`2qACa=Eic zlvV-+ih=~asp`y#$cV_6NKjwo4l*MnW@^}OyQ*hNX(7ma@4uV8cPsB8FP!IAwfWzF z4|jH&y3N(R8BCe(e(qy3BO}iFon}oOE&^DVF)f;=Id6TF&wV-fjnw0`}hvsH6A;u7*5Gxh7Hl{at0H@t0VWJ1Z%HquerWnkn(pkO|MAUyBo+wKp;Ni%ZPPO`jVgxO;twB=wpQutx&K=&7oT5PF>w-TAOX!0

742*% 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

;pN&@U|yPCCO=PX?Qyw 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
j9NdAxh+N1ES`;$UFMZ+p-(&E6(31rrE#zc49n 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 Date: Thu, 25 Sep 2025 17:39:24 +0400 Subject: [PATCH 15/21] fix tests: remove redundant test.use --- interface/tests/grow/arbitrage.spec.ts | 4 +--- interface/tests/grow/market-making.spec.ts | 3 --- interface/tests/grow/simply-grow.spec.ts | 4 ---- interface/tests/home/home.spec.ts | 4 ---- interface/tests/spot/candlestick.spec.ts | 3 --- interface/tests/spot/navigation.spec.ts | 4 ---- interface/tests/spot/trading.spec.ts | 4 ---- interface/tests/wallet/connect-wallet.spec.ts | 4 ---- 8 files changed, 1 insertion(+), 29 deletions(-) diff --git a/interface/tests/grow/arbitrage.spec.ts b/interface/tests/grow/arbitrage.spec.ts index 035f04a6..912705c7 100644 --- a/interface/tests/grow/arbitrage.spec.ts +++ b/interface/tests/grow/arbitrage.spec.ts @@ -1,8 +1,6 @@ import { test, expect } from '@playwright/test'; -test.use({ - viewport: { width: 390, height: 844 }, // iPhone 14 Pro -}); + test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/grow'); diff --git a/interface/tests/grow/market-making.spec.ts b/interface/tests/grow/market-making.spec.ts index 83b6acca..aef2a893 100644 --- a/interface/tests/grow/market-making.spec.ts +++ b/interface/tests/grow/market-making.spec.ts @@ -1,8 +1,5 @@ import { test, expect } from '@playwright/test'; -test.use({ - viewport: { width: 390, height: 844 }, // iPhone 14 Pro -}); test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/grow'); diff --git a/interface/tests/grow/simply-grow.spec.ts b/interface/tests/grow/simply-grow.spec.ts index 5a73340c..ba758146 100644 --- a/interface/tests/grow/simply-grow.spec.ts +++ b/interface/tests/grow/simply-grow.spec.ts @@ -1,9 +1,5 @@ import { test } from '@playwright/test'; -test.use({ - viewport: { width: 390, height: 844 }, // iPhone 14 Pro -}); - test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/grow'); }) diff --git a/interface/tests/home/home.spec.ts b/interface/tests/home/home.spec.ts index 8639bc91..b8dbb7ad 100644 --- a/interface/tests/home/home.spec.ts +++ b/interface/tests/home/home.spec.ts @@ -1,9 +1,5 @@ import { test } from '@playwright/test'; -test.use({ - viewport: { width: 390, height: 844 }, // iPhone 14 Pro -}); - test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/spot'); }) diff --git a/interface/tests/spot/candlestick.spec.ts b/interface/tests/spot/candlestick.spec.ts index 87c2dd8a..2642e0db 100644 --- a/interface/tests/spot/candlestick.spec.ts +++ b/interface/tests/spot/candlestick.spec.ts @@ -1,8 +1,5 @@ import { expect, test } from '@playwright/test'; -test.use({ - viewport: { width: 390, height: 844 }, // iPhone 14 Pro -}); test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/market/candle/okx/BTC-USDT'); diff --git a/interface/tests/spot/navigation.spec.ts b/interface/tests/spot/navigation.spec.ts index 87bb7dc6..1b8fa615 100644 --- a/interface/tests/spot/navigation.spec.ts +++ b/interface/tests/spot/navigation.spec.ts @@ -1,9 +1,5 @@ import { expect, test } from '@playwright/test'; -test.use({ - viewport: { width: 390, height: 844 }, // iPhone 14 Pro -}); - test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/spot'); }) diff --git a/interface/tests/spot/trading.spec.ts b/interface/tests/spot/trading.spec.ts index 96fc4465..c302394d 100644 --- a/interface/tests/spot/trading.spec.ts +++ b/interface/tests/spot/trading.spec.ts @@ -1,9 +1,5 @@ import { test, expect } from '@playwright/test'; -test.use({ - viewport: { width: 390, height: 844 }, // iPhone 14 Pro -}); - test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/spot'); }) diff --git a/interface/tests/wallet/connect-wallet.spec.ts b/interface/tests/wallet/connect-wallet.spec.ts index 0613323a..09d448e7 100644 --- a/interface/tests/wallet/connect-wallet.spec.ts +++ b/interface/tests/wallet/connect-wallet.spec.ts @@ -1,9 +1,5 @@ import { test, expect } from '@playwright/test'; -test.use({ - viewport: { width: 390, height: 844 }, // iPhone 14 Pro -}); - test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/wallet'); }) From 91b77e8da07fee33757d040018a0f612faa26359 Mon Sep 17 00:00:00 2001 From: Faouzi JEDIDI Date: Thu, 25 Sep 2025 17:57:45 +0400 Subject: [PATCH 16/21] fix tests: add test suites --- interface/tests/grow/arbitrage.spec.ts | 4 +- interface/tests/grow/market-making.spec.ts | 5 +- interface/tests/grow/simply-grow.spec.ts | 5 +- interface/tests/home/home.spec.ts | 5 +- interface/tests/spot/candlestick.spec.ts | 3 +- interface/tests/spot/navigation.spec.ts | 3 +- interface/tests/spot/trading.spec.ts | 180 +++++++++--------- interface/tests/wallet/connect-wallet.spec.ts | 26 +-- 8 files changed, 125 insertions(+), 106 deletions(-) diff --git a/interface/tests/grow/arbitrage.spec.ts b/interface/tests/grow/arbitrage.spec.ts index 912705c7..99a146d3 100644 --- a/interface/tests/grow/arbitrage.spec.ts +++ b/interface/tests/grow/arbitrage.spec.ts @@ -1,6 +1,7 @@ import { test, expect } from '@playwright/test'; +test.describe('Market making', () => { test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/grow'); @@ -41,4 +42,5 @@ test('create arbitrage', async ({ page }) => { const newPage2 = await pagePromise2; await newPage2.waitForLoadState(); expect(newPage2.url()).toContain('https://mixin.one/pay'); -}) \ No newline at end of file +}); +}); \ No newline at end of file diff --git a/interface/tests/grow/market-making.spec.ts b/interface/tests/grow/market-making.spec.ts index aef2a893..a49d0e36 100644 --- a/interface/tests/grow/market-making.spec.ts +++ b/interface/tests/grow/market-making.spec.ts @@ -1,6 +1,6 @@ import { test, expect } from '@playwright/test'; - +test.describe('Market making', () => { test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/grow'); }) @@ -27,4 +27,5 @@ test('create market making', async ({ page }) => { expect(page.getByTestId(`confirm-btn`)).toBeEnabled(); await page.getByTestId(`confirm-btn`).click(); -}) \ No newline at end of file +}); +}); \ No newline at end of file diff --git a/interface/tests/grow/simply-grow.spec.ts b/interface/tests/grow/simply-grow.spec.ts index ba758146..d33ade53 100644 --- a/interface/tests/grow/simply-grow.spec.ts +++ b/interface/tests/grow/simply-grow.spec.ts @@ -1,5 +1,5 @@ import { test } from '@playwright/test'; - +test.describe('grow', () => { test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/grow'); }) @@ -20,4 +20,5 @@ test('create just grow order', async ({ page }) => { // const newPage1 = await pagePromise; // await newPage1.waitForLoadState(); // expect(newPage1.url()).toContain('https://mixin.one/pay'); -}) \ No newline at end of file +}); +}); \ No newline at end of file diff --git a/interface/tests/home/home.spec.ts b/interface/tests/home/home.spec.ts index b8dbb7ad..bc22db13 100644 --- a/interface/tests/home/home.spec.ts +++ b/interface/tests/home/home.spec.ts @@ -1,5 +1,5 @@ import { test } from '@playwright/test'; - +test.describe('Home', () => { test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/spot'); }) @@ -15,4 +15,5 @@ test('bottom navigation', async ({ page }) => { await page.waitForURL('**/grow'); await page.getByTestId('bottom-nav-wallet').click(); await page.waitForURL('**/wallet'); -}) \ No newline at end of file +}); +}); \ No newline at end of file diff --git a/interface/tests/spot/candlestick.spec.ts b/interface/tests/spot/candlestick.spec.ts index 2642e0db..3eff534d 100644 --- a/interface/tests/spot/candlestick.spec.ts +++ b/interface/tests/spot/candlestick.spec.ts @@ -1,5 +1,5 @@ import { expect, test } from '@playwright/test'; - +test.describe('Navigation', () => { test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/market/candle/okx/BTC-USDT'); @@ -12,4 +12,5 @@ test('open/close pair selector', async ({ page }) => { // Close await page.getByTestId('candlestick_pair_selector_close').click(); +}); }); \ No newline at end of file diff --git a/interface/tests/spot/navigation.spec.ts b/interface/tests/spot/navigation.spec.ts index 1b8fa615..924a6f5c 100644 --- a/interface/tests/spot/navigation.spec.ts +++ b/interface/tests/spot/navigation.spec.ts @@ -1,5 +1,5 @@ import { expect, test } from '@playwright/test'; - +test.describe('Navigation', () => { test.beforeEach(async ({ page }) => { await page.goto('http://127.0.0.1:5173/spot'); }) @@ -21,4 +21,5 @@ test('open/close pair selector', async ({ page }) => { test('goto candlestick', async ({ page }) => { await page.locator('.sticky > div > div > button').first().click(); await page.waitForURL('**/market/candle/**'); +}); }); \ No newline at end of file diff --git a/interface/tests/spot/trading.spec.ts b/interface/tests/spot/trading.spec.ts index c302394d..85ade6f3 100644 --- a/interface/tests/spot/trading.spec.ts +++ b/interface/tests/spot/trading.spec.ts @@ -1,94 +1,102 @@ import { test, expect } from '@playwright/test'; -test.beforeEach(async ({ page }) => { - await page.goto('http://127.0.0.1:5173/spot'); -}) - -test('switch buy and sell', async ({ page }) => { - // buy - await page.getByTestId('type_buy').click() - let actionButtonText = await page.getByTestId('buy_button_text').textContent() - expect(actionButtonText?.toLocaleLowerCase()).toContain('buy') - - // sell - await page.getByTestId('type_sell').click() - actionButtonText = await page.getByTestId('sell_button_text').textContent() - expect(actionButtonText?.toLocaleLowerCase()).toContain('sell') -}); - -test('select limit/market order', async ({ page }) => { - // Open dialog - await page.getByTestId('order_type_selector').click() - // Select limit order - await page.getByTestId('limit_order_btn').click() - let actionButtonText = await page.getByTestId('limit_order_btn-text').textContent() - expect(actionButtonText?.toLocaleLowerCase()).toContain('limit') - - // Open dialog - await page.getByTestId('order_type_selector').click() - - // Select market order - await page.getByTestId('market-order-btn').click() - actionButtonText = await page.getByTestId('market-order-btn-text').textContent() - expect(actionButtonText?.toLocaleLowerCase()).toContain('market') -}); - -test('create buy/sell market order', async ({ page }) => { - let isDialogOpen = await page.locator('#order_confirm_modal').evaluate(dialog => dialog.classList.contains('modal-open')); - expect(isDialogOpen).toBeFalsy(); +test.describe('Spot trading', () => { + test.beforeEach(async ({ page }) => { + await page.goto('http://127.0.0.1:5173/spot'); + }); + + test('switch buy and sell', async ({ page }) => { + // buy + await page.getByTestId('type_buy').click(); + let actionButtonText = await page.getByTestId('buy_button_text').textContent(); + expect(actionButtonText?.toLocaleLowerCase()).toContain('buy'); + + // sell + await page.getByTestId('type_sell').click(); + actionButtonText = await page.getByTestId('sell_button_text').textContent(); + expect(actionButtonText?.toLocaleLowerCase()).toContain('sell'); + }); + + test('select limit/market order', async ({ page }) => { + // Open dialog + await page.getByTestId('order_type_selector').click(); + // Select limit order + await page.getByTestId('limit_order_btn').click(); + let actionButtonText = await page.getByTestId('limit_order_btn-text').textContent(); + expect(actionButtonText?.toLocaleLowerCase()).toContain('limit'); + + // Open dialog + await page.getByTestId('order_type_selector').click(); + + // Select market order + await page.getByTestId('market-order-btn').click(); + actionButtonText = await page.getByTestId('market-order-btn-text').textContent(); + expect(actionButtonText?.toLocaleLowerCase()).toContain('market'); + }); + + test('create buy/sell market order', async ({ page }) => { + let isDialogOpen = await page + .locator('#order_confirm_modal') + .evaluate((dialog) => dialog.classList.contains('modal-open')); + expect(isDialogOpen).toBeFalsy(); + + const amount = '1234.2346'; + // Click buy tab + await page.getByTestId('type_buy').click(); + // Enter amount + await page.getByTestId('total_input').click(); + await page.keyboard.type(amount); + + // Click buy action + await page.getByTestId('confirm_order').click(); + let payAmount = await page.getByTestId('order_confirm_pay_amount').textContent(); + let actualAmount = await page.getByTestId('total_input').textContent(); + expect(payAmount).toContain(actualAmount); - const amount = '1234.2346' - // Click buy tab - await page.getByTestId('type_buy').click() - // Enter amount - await page.getByTestId('total_input').click() - await page.keyboard.type(amount); - - // Click buy action - await page.getByTestId('confirm_order').click() - let payAmount = await page.getByTestId('order_confirm_pay_amount').textContent() - let actualAmount = await page.getByTestId('total_input').textContent() - expect(payAmount).toContain(actualAmount) - // Confirm order - await page.getByTestId('confirm_order_button').click() - - // Close - await page.getByTestId('close_order_modal').click() - await page.getByTestId('total_input').fill('') - - // Click sell tab - await page.getByTestId('type_sell').click() - // Enter amount - await page.getByTestId('total_input').click() - await page.keyboard.type(amount); - // Click sell action - await page.getByTestId('confirm_order').click() - payAmount = await page.getByTestId('order_confirm_pay_amount').textContent() - actualAmount = await page.getByTestId('total_input').textContent() - expect(payAmount).toContain(actualAmount) - - // Check if confirm button is disabled - const isConfirmButtonDisabled = await page.getByTestId('confirm_order_button').isDisabled(); - - if (!isConfirmButtonDisabled) { // Confirm order - await page.waitForSelector('[data-testid="confirm_order_button"]', { state: 'visible' }); - await page.getByTestId('confirm_order_button').click() - } - - // Close - await page.getByTestId('close_order_modal').click() - isDialogOpen = await page.locator('#order_confirm_modal').evaluate(dialog => dialog.classList.contains('modal-open')); - expect(isDialogOpen).toBeFalsy(); -}); + await page.getByTestId('confirm_order_button').click(); + + // Close + await page.getByTestId('close_order_modal').click(); + await page.getByTestId('total_input').fill(''); + + // Click sell tab + await page.getByTestId('type_sell').click(); + // Enter amount + await page.getByTestId('total_input').click(); + await page.keyboard.type(amount); + + // Click sell action + await page.getByTestId('confirm_order').click(); + payAmount = await page.getByTestId('order_confirm_pay_amount').textContent(); + actualAmount = await page.getByTestId('total_input').textContent(); + expect(payAmount).toContain(actualAmount); + + // Check if confirm button is disabled + const isConfirmButtonDisabled = await page.getByTestId('confirm_order_button').isDisabled(); + + if (!isConfirmButtonDisabled) { + await page.waitForSelector('[data-testid="confirm_order_button"]', { state: 'visible' }); + await page.getByTestId('confirm_order_button').click(); + } + + // Close + await page.getByTestId('close_order_modal').click(); + isDialogOpen = await page + .locator('#order_confirm_modal') + .evaluate((dialog) => dialog.classList.contains('modal-open')); + expect(isDialogOpen).toBeFalsy(); + }); + + test('connect wallet', async ({ page, context }) => { + const popupPromise = context.waitForEvent('page'); + await page.getByRole('button', { name: 'Connect Wallet' }).first().click(); + const newPage = await popupPromise; + await newPage.waitForLoadState(); + await expect(newPage).toHaveURL(/https:\/\/mixin\.one\/codes\//); + }); -test('connect wallet', async({ page, context }) => { - await page.getByRole('button', { name: 'Connect Wallet' }).first().click(); - const pagePromise = context.waitForEvent('page'); - const newPage = await pagePromise; - await newPage.waitForLoadState(); - expect(newPage.url()).toContain('https://mixin.one/codes/'); -}) +}); // test('create buy limit order', async ({ page }) => { // const price = '10000'; const recvAmount = '10'; const estimatedPay = Number(price)*Number(recvAmount) diff --git a/interface/tests/wallet/connect-wallet.spec.ts b/interface/tests/wallet/connect-wallet.spec.ts index 09d448e7..225eda0c 100644 --- a/interface/tests/wallet/connect-wallet.spec.ts +++ b/interface/tests/wallet/connect-wallet.spec.ts @@ -1,13 +1,17 @@ import { test, expect } from '@playwright/test'; -test.beforeEach(async ({ page }) => { - await page.goto('http://127.0.0.1:5173/wallet'); -}) - -test('connect wallet', async ({ page }) => { - const page14Promise = page.waitForEvent('popup'); - await page.getByRole('button', { name: 'Connect Wallet' }).click(); - const newPage = await page14Promise; - await newPage.waitForLoadState(); - expect(newPage.url()).toContain('https://mixin.one/codes/'); -}) \ No newline at end of file +test.describe('Wallet', () => { + test.beforeEach(async ({ page }) => { + await page.goto('http://127.0.0.1:5173/wallet'); + }); + + test('connect wallet', async ({ page }) => { + const popupPromise = page.waitForEvent('popup'); + await page.getByRole('button', { name: 'Connect Wallet' }).click(); + + const newPage = await popupPromise; + await newPage.waitForLoadState(); + + await expect(newPage).toHaveURL(/https:\/\/mixin\.one\/codes\//); + }); +}); From dbeb928d0d4b7d11311839b626e66ff0926bcd47 Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Tue, 30 Sep 2025 21:53:25 +0000 Subject: [PATCH 17/21] add SL and TP to indicator strategy --- .../strategy/time-indicator.service.ts | 294 ++++++++++++++---- .../src/modules/strategy/timeIndicator.dto.ts | 24 +- 2 files changed, 244 insertions(+), 74 deletions(-) diff --git a/server/src/modules/strategy/time-indicator.service.ts b/server/src/modules/strategy/time-indicator.service.ts index 930e7ecf..bc7a2ac1 100644 --- a/server/src/modules/strategy/time-indicator.service.ts +++ b/server/src/modules/strategy/time-indicator.service.ts @@ -1,13 +1,13 @@ import * as ccxt from 'ccxt'; import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Repository } from 'typeorm'; import { ExchangeInitService } from 'src/modules/exchangeInit/exchangeInit.service'; import { TradeService } from 'src/modules/trade/trade.service'; import { PerformanceService } from 'src/modules/performance/performance.service'; import { CustomLogger } from 'src/modules/logger/logger.service'; import { IndicatorStrategyHistory } from 'src/common/entities/indicator-strategy-history.entity'; -import { Repository } from 'typeorm'; -import { InjectRepository } from '@nestjs/typeorm'; import { TimeIndicatorStrategyDto } from './timeIndicator.dto'; import { Side } from 'src/common/constants/side'; import { SignalType } from 'src/common/enum/signaltype'; @@ -26,7 +26,6 @@ export class TimeIndicatorStrategyService { /** * Run strategy once (stateless execution). - * Decides whether to buy/sell based on selected indicators (EMA, RSI, or both). */ async executeIndicatorStrategy(params: TimeIndicatorStrategyDto) { const { userId, clientId, exchangeName, symbol } = params; @@ -39,23 +38,61 @@ export class TimeIndicatorStrategyService { } const ex = this.exchangeInit.getExchange(exchangeName); + if (!ex) { + this.logger.error(`Exchange '${exchangeName}' is not initialized.`); + return; + } + + try { + if (!ex.markets || Object.keys(ex.markets).length === 0) { + await ex.loadMarkets(); + } + } catch (e: any) { + this.logger.error(`[${exchangeName}] loadMarkets failed: ${e.message}`); + return; + } + + if (!ex.markets[symbol]) { + this.logger.error(`[${exchangeName}] Unknown symbol '${symbol}'.`); + return; + } + + if (ex.timeframes && !ex.timeframes[params.timeframe]) { + this.logger.error( + `[${exchangeName}:${symbol}] Unsupported timeframe '${params.timeframe}'.`, + ); + return; + } + + if (params.maxConcurrentPositions && params.maxConcurrentPositions > 0) { + try { + const openOrders = await ex.fetchOpenOrders(symbol); + if (openOrders.length >= params.maxConcurrentPositions) { + this.logger.warn( + `[${exchangeName}:${symbol}] Open orders (${openOrders.length}) >= maxConcurrentPositions (${params.maxConcurrentPositions}). Skipping.`, + ); + return; + } + } catch (e: any) { + this.logger.warn( + `[${exchangeName}:${symbol}] fetchOpenOrders failed (${e.message}). Proceeding anyway.`, + ); + } + } - // Market data + // --- Market data --- const ohlcv = await this.fetchCandles( ex, symbol, params.timeframe, params.lookback, ); - if ( - !ohlcv || - ohlcv.length < Math.max(params.emaSlow, params.rsiPeriod) + 2 - ) { + const minBarsNeeded = Math.max(params.emaSlow, params.rsiPeriod) + 2; + if (!ohlcv || ohlcv.length < minBarsNeeded) { this.logger.warn(`[${exchangeName}:${symbol}] Not enough candles yet.`); return; } - // indicators const closes = ohlcv.map((c) => c[4]); const emaF = ema(closes, params.emaFast); const emaS = ema(closes, params.emaSlow); @@ -68,14 +105,24 @@ export class TimeIndicatorStrategyService { const prevEmaS = emaS[emaS.length - 2]; const lastRsi = rsiV[rsiV.length - 1]; + if ( + [lastEmaF, lastEmaS, prevEmaF, prevEmaS, lastRsi].some( + (x) => x === undefined || Number.isNaN(x), + ) + ) { + this.logger.debug( + `[${exchangeName}:${symbol}] Indicators not ready (NaN).`, + ); + return; + } + const signal = calcCross(prevEmaF, prevEmaS, lastEmaF, lastEmaS); const rsiBuyOk = - params.rsiBuyBelow === undefined || lastRsi <= params.rsiBuyBelow; + params.rsiBuyBelow === undefined || lastRsi <= params.rsiBuyBelow!; const rsiSellOk = - params.rsiSellAbove === undefined || lastRsi >= params.rsiSellAbove; + params.rsiSellAbove === undefined || lastRsi >= params.rsiSellAbove!; let side: Side | null = null; - if (params.indicatorMode === 'ema') { if (signal === SignalType.CROSS_UP) side = 'buy'; else if (signal === SignalType.CROSS_DOWN) side = 'sell'; @@ -92,67 +139,75 @@ export class TimeIndicatorStrategyService { return; } + // --- Balance & sizing --- const [base, quote] = symbol.split('/'); - const balances = await ex.fetchBalance(); - - let amountBase: number; - if (params.orderMode === 'base') { - amountBase = params.orderSize; - } else { - amountBase = params.orderSize / last; + let balances; + try { + balances = await ex.fetchBalance(); + } catch (e: any) { + this.logger.error(`[${exchangeName}] fetchBalance failed: ${e.message}`); + return; } - const freeBase = balances.free[base] ?? 0; - const freeQuote = balances.free[quote] ?? 0; - if (side === 'sell' && freeBase < amountBase * 1.01) { + const amountBaseRaw = + params.orderMode === 'base' ? params.orderSize : params.orderSize / last; + + const freeBase = balances.free?.[base] ?? 0; + const freeQuote = balances.free?.[quote] ?? 0; + + if (side === 'sell' && freeBase < amountBaseRaw * 1.01) { this.logger.warn( `[${exchangeName}:${symbol}] Insufficient ${base} to sell.`, ); return; } - if (side === 'buy' && freeQuote < amountBase * last * 1.01) { + if (side === 'buy' && freeQuote < amountBaseRaw * last * 1.01) { this.logger.warn( `[${exchangeName}:${symbol}] Insufficient ${quote} to buy.`, ); return; } - // min trade size const market = ex.markets[symbol]; + const amountPrec = (x: number) => + parseFloat(ex.amountToPrecision(symbol, x)); + const pricePrec = (x: number) => parseFloat(ex.priceToPrecision(symbol, x)); + + let amountBase = amountPrec(amountBaseRaw); if (market?.limits?.amount?.min && amountBase < market.limits.amount.min) { - this.logger.warn( - `[${exchangeName}:${symbol}] Order amount ${amountBase} < min ${market.limits.amount.min}`, - ); - return; + amountBase = amountPrec(market.limits.amount.min); } if ( market?.limits?.cost?.min && amountBase * last < market.limits.cost.min ) { - this.logger.warn( - `[${exchangeName}:${symbol}] Order cost ${amountBase * last} < min ${ - market.limits.cost.min - }`, - ); - return; + const needed = market.limits.cost.min / last; + amountBase = amountPrec(Math.max(amountBase, needed)); } const bps = params.slippageBps ?? 10; - const price = + const entryPriceRaw = side === 'buy' ? last * (1 - bps / 10_000) : last * (1 + bps / 10_000); + const entryPrice = pricePrec(entryPriceRaw); - const adjAmount = parseFloat(ex.amountToPrecision(symbol, amountBase)); - const adjPrice = parseFloat(ex.priceToPrecision(symbol, price)); - - const order = await this.tradeService.executeLimitTrade({ - userId, - clientId, - exchange: ex.id, - symbol, - side, - amount: adjAmount, - price: adjPrice, - }); + // --- Entry --- + let order: any | undefined; + try { + order = await this.tradeService.executeLimitTrade({ + userId, + clientId, + exchange: ex.id, + symbol, + side, + amount: amountBase, + price: entryPrice, + }); + } catch (e: any) { + this.logger.error( + `[${exchangeName}:${symbol}] Entry order failed: ${e.message}`, + ); + return; + } await this.historyRepo.save( this.historyRepo.create({ @@ -161,12 +216,34 @@ export class TimeIndicatorStrategyService { exchange: ex.id, symbol, side, - amount: adjAmount, - price: adjPrice, + amount: amountBase, + price: entryPrice, orderId: order?.id, }), ); + // --- Exits --- + const slPct = safePct(params.stopLossPct); + const tpPct = safePct(params.takeProfitPct); + if (slPct || tpPct) { + try { + await this.placeProtectiveExits({ + ex, + symbol, + entrySide: side, + entryPrice, + amountBase, + stopLossPct: slPct, + takeProfitPct: tpPct, + }); + } catch (e: any) { + this.logger.warn( + `[${exchangeName}:${symbol}] Could not place exits: ${e.message}.`, + ); + } + } + + // --- Performance --- await this.performanceService.recordPerformance({ userId, clientId, @@ -175,19 +252,23 @@ export class TimeIndicatorStrategyService { additionalMetrics: { side, last, - price: adjPrice, + entryPrice, emaFast: lastEmaF, emaSlow: lastEmaS, rsi: lastRsi, signal, + stopLossPct: slPct, + takeProfitPct: tpPct, }, executedAt: new Date(), }); this.logger.log( - `[${exchangeName}:${symbol}] ${side.toUpperCase()} ${adjAmount} @ ${adjPrice} (EMA${ + `[${exchangeName}:${symbol}] ${side.toUpperCase()} ${amountBase} @ ${entryPrice} (EMA${ params.emaFast - }/${params.emaSlow}, RSI=${lastRsi.toFixed(2)})`, + }/${params.emaSlow}, RSI=${lastRsi.toFixed(2)}${ + slPct ? `, SL=${slPct}%` : '' + }${tpPct ? `, TP=${tpPct}%` : ''})`, ); } @@ -195,7 +276,6 @@ export class TimeIndicatorStrategyService { const now = new Date(); const wd = now.getDay(); const hr = now.getHours(); - if (params.allowedWeekdays?.length && !params.allowedWeekdays.includes(wd)) return false; if (params.allowedHours?.length && !params.allowedHours.includes(hr)) @@ -219,46 +299,119 @@ export class TimeIndicatorStrategyService { return []; } } + + private async placeProtectiveExits(opts: { + ex: ccxt.Exchange; + symbol: string; + entrySide: Side; + entryPrice: number; + amountBase: number; + stopLossPct?: number; + takeProfitPct?: number; + }) { + const { + ex, + symbol, + entrySide, + entryPrice, + amountBase, + stopLossPct, + takeProfitPct, + } = opts; + + const exitSide: Side = entrySide === 'buy' ? 'sell' : 'buy'; + const pricePrec = (x: number) => parseFloat(ex.priceToPrecision(symbol, x)); + const amountPrec = (x: number) => + parseFloat(ex.amountToPrecision(symbol, x)); + const amount = amountPrec(amountBase); + + let slTrigger: number | undefined; + let tpLimit: number | undefined; + + if (stopLossPct && stopLossPct > 0) { + slTrigger = + entrySide === 'buy' + ? pricePrec(entryPrice * (1 - stopLossPct / 100)) + : pricePrec(entryPrice * (1 + stopLossPct / 100)); + } + + if (takeProfitPct && takeProfitPct > 0) { + tpLimit = + entrySide === 'buy' + ? pricePrec(entryPrice * (1 + takeProfitPct / 100)) + : pricePrec(entryPrice * (1 - takeProfitPct / 100)); + } + + if (tpLimit) { + try { + await ex.createOrder(symbol, 'limit', exitSide, amount, tpLimit); + this.logger.debug( + `[${ex.id}:${symbol}] TP placed: ${exitSide} ${amount} @ ${tpLimit}`, + ); + } catch (e: any) { + this.logger.warn( + `[${ex.id}:${symbol}] TP placement failed: ${e.message}`, + ); + } + } + + if (slTrigger) { + try { + await ex.createOrder(symbol, 'market', exitSide, amount, undefined, { + stopPrice: slTrigger, + }); + this.logger.debug( + `[${ex.id}:${symbol}] SL placed: ${exitSide} ${amount} stopPrice=${slTrigger}`, + ); + } catch (e: any) { + this.logger.warn( + `[${ex.id}:${symbol}] SL placement failed: ${e.message}`, + ); + } + } + } } -// Indicator funcs + +// --- Indicator functions --- function ema(series: number[], period: number): number[] { + if (period <= 0) return series.map(() => NaN); const k = 2 / (period + 1); const out: number[] = []; - let prev: number | undefined = undefined; - series.forEach((v, i) => { - if (i === 0) { + let prev: number | undefined; + for (let i = 0; i < series.length; i++) { + const v = series[i]; + if (i === 0 || prev === undefined) { prev = v; out.push(v); } else { - const e = (v - (prev as number)) * k + (prev as number); + const e = (v - prev) * k + prev; out.push(e); prev = e; } - }); + } return out; } function rsi(series: number[], period: number): number[] { - if (series.length < period + 1) return new Array(series.length).fill(NaN); + if (period <= 0 || series.length < period + 1) + return new Array(series.length).fill(NaN); const gains: number[] = []; const losses: number[] = []; for (let i = 1; i < series.length; i++) { const ch = series[i] - series[i - 1]; - gains.push(Math.max(0, ch)); - losses.push(Math.max(0, -ch)); + gains.push(ch > 0 ? ch : 0); + losses.push(ch < 0 ? -ch : 0); } let avgGain = avg(gains.slice(0, period)); let avgLoss = avg(losses.slice(0, period)); - - const rsiArr = new Array(period).fill(NaN); + const rsiArr = new Array(series.length).fill(NaN); for (let i = period; i < gains.length; i++) { avgGain = (avgGain * (period - 1) + gains[i]) / period; avgLoss = (avgLoss * (period - 1) + losses[i]) / period; - const rs = avgLoss === 0 ? 100 : avgGain / avgLoss; + const rs = avgLoss === 0 ? Number.POSITIVE_INFINITY : avgGain / avgLoss; const val = 100 - 100 / (1 + rs); - rsiArr.push(val); + rsiArr[i + 1] = val; } - rsiArr.unshift(NaN); return rsiArr; } @@ -281,3 +434,10 @@ function calcCross( if (wasAbove && nowBelow) return SignalType.CROSS_DOWN; return SignalType.NONE; } + +function safePct(v?: number) { + if (v === undefined || v === null) return undefined; + const n = Number(v); + if (!Number.isFinite(n) || n <= 0) return undefined; + return n; +} diff --git a/server/src/modules/strategy/timeIndicator.dto.ts b/server/src/modules/strategy/timeIndicator.dto.ts index f1796e26..34d75ae7 100644 --- a/server/src/modules/strategy/timeIndicator.dto.ts +++ b/server/src/modules/strategy/timeIndicator.dto.ts @@ -41,13 +41,13 @@ export class TimeIndicatorStrategyDto { rsiPeriod: number; @ApiPropertyOptional({ - description: 'RSI threshold for buys (below this value)', + description: 'RSI threshold for buys (<= this value)', example: 35, }) rsiBuyBelow?: number; @ApiPropertyOptional({ - description: 'RSI threshold for sells (above this value)', + description: 'RSI threshold for sells (>= this value)', example: 65, }) rsiSellAbove?: number; @@ -93,14 +93,24 @@ export class TimeIndicatorStrategyDto { slippageBps?: number; @ApiPropertyOptional({ - description: 'Max concurrent positions allowed (guard)', + description: 'Max concurrent open orders allowed on the symbol (guard)', example: 2, }) maxConcurrentPositions?: number; - @ApiProperty({ - description: 'Tick interval in milliseconds', - example: 60000, - }) + @ApiProperty({ description: 'Tick interval in milliseconds', example: 60000 }) tickIntervalMs: number; + + // --- NEW: Risk controls --- + @ApiPropertyOptional({ + description: 'Stop-loss percent (3 = 3%).', + example: 3, + }) + stopLossPct?: number; + + @ApiPropertyOptional({ + description: 'Take-profit percent (3 = 3%).', + example: 3, + }) + takeProfitPct?: number; } From 19aae04023d8338859492bf5a4b3b479e73a5af7 Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Wed, 12 Nov 2025 15:18:15 +0000 Subject: [PATCH 18/21] Add new jupiter api strats + fixes --- server/package.json | 5 + server/src/app.module.ts | 2 + server/src/common/helpers/key-utils.ts | 37 + server/src/common/helpers/strategyKey.ts | 1 + .../exchangeInit/exchangeInit.service.ts | 295 ++++--- .../solana-volume-strategy.controller.ts | 95 +++ .../solana-volume-strategy.module.ts | 12 + .../solana-volume-strategy.service.ts | 631 +++++++++++++++ .../solana-volume/solana-volume.types.ts | 40 + .../solana-volume/start-volume.dto.ts | 55 ++ .../strategy/solana-volume/stop-volume.dto.ts | 12 + .../src/modules/strategy/strategy.service.ts | 499 ++++++------ server/yarn.lock | 717 +++++++++++++++++- 13 files changed, 2003 insertions(+), 398 deletions(-) create mode 100644 server/src/common/helpers/key-utils.ts create mode 100644 server/src/modules/strategy/solana-volume/solana-volume-strategy.controller.ts create mode 100644 server/src/modules/strategy/solana-volume/solana-volume-strategy.module.ts create mode 100644 server/src/modules/strategy/solana-volume/solana-volume-strategy.service.ts create mode 100644 server/src/modules/strategy/solana-volume/solana-volume.types.ts create mode 100644 server/src/modules/strategy/solana-volume/start-volume.dto.ts create mode 100644 server/src/modules/strategy/solana-volume/stop-volume.dto.ts diff --git a/server/package.json b/server/package.json index f1190f66..7a71fb0e 100644 --- a/server/package.json +++ b/server/package.json @@ -29,6 +29,8 @@ "migration:seed": "ts-node src/database/seeder/seed.ts" }, "dependencies": { + "@coral-xyz/anchor": "^0.32.1", + "@jup-ag/api": "^6.0.44", "@mixin.dev/mixin-node-sdk": "^7.0.8", "@nestjs/axios": "^3.0.2", "@nestjs/cache-manager": "^2.1.1", @@ -47,12 +49,15 @@ "@nestjs/throttler": "^5.1.2", "@nestjs/typeorm": "^10.0.1", "@nestjs/websockets": "^10.2.10", + "@solana/spl-token": "^0.4.14", + "@solana/web3.js": "^1.98.4", "@types/cookie-parser": "^1.4.3", "@types/express-session": "^1.17.7", "@types/passport-jwt": "^3.0.10", "axios": "^1.6.7", "bcrypt": "^5.1.1", "bignumber.js": "^9.1.2", + "bs58": "^6.0.0", "cache-manager": "^4.0.0", "ccxt": "^4.4.92", "class-transformer": "^0.5.1", diff --git a/server/src/app.module.ts b/server/src/app.module.ts index 6dff8afd..545fd307 100644 --- a/server/src/app.module.ts +++ b/server/src/app.module.ts @@ -67,6 +67,7 @@ import { SpotdataTradingPair } from './common/entities/spot-data.entity'; import { SpotdataModule } from './modules/spotdata/spotdata.module'; import { MetricsModule } from './modules/metrics/metrics/metrics.module'; import { IndicatorStrategyHistory } from './common/entities/indicator-strategy-history.entity'; +import { SolanaVolumeStrategyModule } from './modules/strategy/solana-volume/solana-volume-strategy.module'; dotenv.config(); @@ -135,6 +136,7 @@ dotenv.config(); TradeModule, StrategyModule, PerformanceModule, + SolanaVolumeStrategyModule, MarketdataModule, SpotdataModule, GrowdataModule, diff --git a/server/src/common/helpers/key-utils.ts b/server/src/common/helpers/key-utils.ts new file mode 100644 index 00000000..a74091a4 --- /dev/null +++ b/server/src/common/helpers/key-utils.ts @@ -0,0 +1,37 @@ +// src/modules/strategy/solana-volume/utils/key-utils.ts + +/** + * Parse a Solana private key from common formats into a Uint8Array: + * - JSON array of numbers (solana-keygen output) + * - hex string (with or without 0x) + * - base64 string + */ +export function parsePrivateKeyToUint8Array(input: string): Uint8Array { + if (!input) throw new Error('Empty private key'); + + const s = input.trim(); + + // JSON array (solana-keygen) + if (s.startsWith('[') && s.endsWith(']')) { + const arr = JSON.parse(s); + if (!Array.isArray(arr)) throw new Error('Invalid JSON array for private key'); + return new Uint8Array(arr.map((n: unknown) => Number(n))); + } + + // hex (prefer hex before base64 to avoid mis-parsing pure hex as base64) + const hex = s.toLowerCase().replace(/^0x/, ''); + if (/^[0-9a-f]+$/.test(hex) && hex.length % 2 === 0) { + return new Uint8Array(Buffer.from(hex, 'hex')); + } + + // base64 + try { + const buf = Buffer.from(s, 'base64'); + if (buf.length > 0) return new Uint8Array(buf); + } catch (_) { + // fallthrough + } + + throw new Error('Unsupported private key format. Use solana-keygen JSON array, hex, or base64.'); + } + \ No newline at end of file diff --git a/server/src/common/helpers/strategyKey.ts b/server/src/common/helpers/strategyKey.ts index a2c18158..21912455 100644 --- a/server/src/common/helpers/strategyKey.ts +++ b/server/src/common/helpers/strategyKey.ts @@ -4,6 +4,7 @@ export interface StrategyKey { | 'pureMarketMaking' | 'volume' | 'timeIndicator' + | 'dexVolume' | 'alpaca-arbitrage' | 'alpaca-futures-arbitrage' | 'alpaca-options-arbitrage'; diff --git a/server/src/modules/exchangeInit/exchangeInit.service.ts b/server/src/modules/exchangeInit/exchangeInit.service.ts index 6837ccf6..491aa46e 100644 --- a/server/src/modules/exchangeInit/exchangeInit.service.ts +++ b/server/src/modules/exchangeInit/exchangeInit.service.ts @@ -6,6 +6,14 @@ import { } from '@nestjs/common'; import { CustomLogger } from 'src/modules/logger/logger.service'; +type ExchangeCtor = new (params?: any) => ccxt.Exchange; + +interface ExchangeConfig { + name: string; + class: ExchangeCtor; + defaultType?: 'spot' | 'swap' | 'future'; +} + @Injectable({ scope: Scope.DEFAULT }) export class ExchangeInitService { private readonly logger = new CustomLogger(ExchangeInitService.name); @@ -21,136 +29,221 @@ export class ExchangeInitService { .catch((error) => this.logger.error( 'Error during exchanges initialization', - error.message, + error?.message ?? String(error), ), ); } + /** ---------- utils ---------- */ + + /** read env and hard-trim (kills stray spaces/newlines that break signatures) */ + private envTrim(name: string): string | undefined { + const v = process.env[name]; + return typeof v === 'string' ? v.trim() : v; + } + + private makeExchangeId(name: string, isTestnet: boolean) { + return isTestnet ? `${name}-testnet` : name; + } + + /** build a ccxt instance with safe defaults */ + private buildExchangeInstance( + Ctor: ExchangeCtor, + { + apiKey, + secret, + password, + defaultType = 'spot', + }: { apiKey?: string; secret?: string; password?: string; defaultType?: 'spot' | 'swap' | 'future' }, + ) { + const ex = new Ctor({ + apiKey, + secret, + password, + enableRateLimit: true, + // some exchanges look at options.defaultType for spot/swap routing + options: { + ...(defaultType ? { defaultType } : {}), + }, + // strict SSL can save you from weird proxies + timeout: 20000, + verbose: false, + } as ccxt.Exchange); + + // Prefer to keep clocks aligned automatically whenever the exchange supports it + // For Binance this is options.adjustForTimeDifference, for others we log skew below. + try { + (ex.options as any).adjustForTimeDifference = true; + } catch {/* ignore if not supported */} + return ex; + } + + /** quick targeted diagnostics to catch auth/time issues early */ + private async postInitDiagnostics( + exName: string, + label: string, + exchange: ccxt.Exchange, + ) { + // 1) time skew + try { + const serverTime = await exchange.fetchTime(); + if (serverTime && Number.isFinite(serverTime)) { + const skewMs = serverTime - Date.now(); + const absSkew = Math.abs(skewMs); + const skewMsg = `[${exName}:${label}] time skew ${skewMs}ms`; + if (absSkew > 5000) { + this.logger.warn(`${skewMsg} → consider NTP sync to avoid signature errors.`); + } else { + this.logger.log(skewMsg); + } + } + } catch { + // not all exchanges expose fetchTime + } + + // 2) private call smoke-test (fetchBalance) to surface INVALID_SIGNATURE now + try { + // Only if credentials exist (ccxt will throw otherwise) + if (exchange.apiKey && exchange.secret) { + await exchange.fetchBalance(); + this.logger.log(`[${exName}:${label}] fetchBalance OK (creds valid).`); + } + } catch (e: any) { + const msg = e?.message ?? String(e); + // Surface common root causes explicitly + if (/INVALID_SIGNATURE|Signature mismatch|auth|signature/i.test(msg)) { + this.logger.error( + `[${exName}:${label}] auth/signature failed → ` + + `check key/secret trimming, permissions, IP whitelist, and testnet vs mainnet. Raw: ${msg}`, + ); + } else if (/timestamp|request expired|time/i.test(msg)) { + this.logger.error( + `[${exName}:${label}] request time issue → clock skew. Raw: ${msg}`, + ); + } else { + this.logger.error(`[${exName}:${label}] private-call check failed: ${msg}`); + } + } + } + + /** ---------- init ---------- */ + private async initializeExchanges() { - const exchangeConfigs = [ - { name: 'okx', class: ccxt.pro.okx }, - { name: 'alpaca', class: ccxt.pro.alpaca }, - { name: 'bitfinex', class: ccxt.pro.bitfinex }, - { name: 'gate', class: ccxt.pro.gate }, - { name: 'mexc', class: ccxt.pro.mexc }, - { name: 'xt', class: ccxt.pro.xt }, - { name: 'binance', class: ccxt.pro.binance }, - { name: 'bybit', class: ccxt.pro.bybit }, - { name: 'lbank', class: ccxt.pro.lbank }, - { name: 'bitmart', class: ccxt.pro.bitmart }, - { name: 'bigone', class: ccxt.bigone }, - { name: 'p2b', class: ccxt.pro.p2b }, - { name: 'probit', class: ccxt.pro.probit }, - { name: 'digifinex', class: ccxt.digifinex }, + const exchangeConfigs: ExchangeConfig[] = [ + { name: 'okx', class: (ccxt as any).pro.okx }, + { name: 'alpaca', class: (ccxt as any).pro.alpaca }, + { name: 'bitfinex', class: (ccxt as any).pro.bitfinex }, + { name: 'gate', class: (ccxt as any).pro.gate, defaultType: 'spot' }, + { name: 'mexc', class: (ccxt as any).pro.mexc, defaultType: 'spot' }, + { name: 'xt', class: (ccxt as any).pro.xt, defaultType: 'spot' }, + { name: 'binance', class: (ccxt as any).pro.binance, defaultType: 'spot' }, + { name: 'bybit', class: (ccxt as any).pro.bybit, defaultType: 'spot' }, + { name: 'lbank', class: (ccxt as any).pro.lbank, defaultType: 'spot' }, + { name: 'bitmart', class: (ccxt as any).pro.bitmart, defaultType: 'spot' }, + { name: 'bigone', class: (ccxt as any).bigone, defaultType: 'spot' }, + { name: 'p2b', class: (ccxt as any).pro.p2b, defaultType: 'spot' }, + { name: 'probit', class: (ccxt as any).pro.probit, defaultType: 'spot' }, + { name: 'digifinex', class: (ccxt as any).digifinex, defaultType: 'spot' }, ]; await Promise.all( - exchangeConfigs.map(async (config) => { - const exchangeNames = [config.name, `${config.name}-testnet`]; + exchangeConfigs.map(async (cfg) => { + const names = [cfg.name, `${cfg.name}-testnet`]; - for (const exName of exchangeNames) { + for (const rawName of names) { const exchangeMap = new Map(); - const isTestnet = exName.endsWith('-testnet'); + const isTestnet = rawName.endsWith('-testnet'); + const exName = this.makeExchangeId(cfg.name, isTestnet); const accounts = [ { label: 'default', - apiKey: - process.env[ - `${config.name.toUpperCase()}${ - isTestnet ? '_TESTNET' : '' - }_API_KEY` - ], - secret: - process.env[ - `${config.name.toUpperCase()}${ - isTestnet ? '_TESTNET' : '' - }_SECRET` - ], + apiKey: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_API_KEY`, + ), + secret: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_SECRET`, + ), + password: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_PASSWORD`, + ), // OKX etc. }, { label: 'account2', - apiKey: - process.env[ - `${config.name.toUpperCase()}${ - isTestnet ? '_TESTNET' : '' - }_API_KEY_2` - ], - secret: - process.env[ - `${config.name.toUpperCase()}${ - isTestnet ? '_TESTNET' : '' - }_SECRET_2` - ], + apiKey: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_API_KEY_2`, + ), + secret: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_SECRET_2`, + ), + password: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_PASSWORD_2`, + ), }, { label: 'read-only', - apiKey: - process.env[ - `${config.name.toUpperCase()}${ - isTestnet ? '_TESTNET' : '' - }_API_KEY_READ_ONLY` - ], - secret: - process.env[ - `${config.name.toUpperCase()}${ - isTestnet ? '_TESTNET' : '' - }_SECRET_READ_ONLY` - ], + apiKey: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_API_KEY_READ_ONLY`, + ), + secret: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_SECRET_READ_ONLY`, + ), + password: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_PASSWORD_READ_ONLY`, + ), }, ]; await Promise.all( - accounts.map(async (account) => { + accounts.map(async (acct) => { try { - if (!account.apiKey || !account.secret) { + if (!acct.apiKey || !acct.secret) { + // this.logger.log( + // `[${exName}:${acct.label}] skipped (missing API key/secret).`, + // ); return; } - const exchange = new config.class({ - apiKey: account.apiKey, - secret: account.secret, + const exchange = this.buildExchangeInstance(cfg.class, { + apiKey: acct.apiKey, + secret: acct.secret, + password: acct.password, + defaultType: cfg.defaultType ?? 'spot', }); - // 🔹 Enable sandbox if testnet - if ( - isTestnet && - typeof exchange.setSandboxMode === 'function' - ) { - exchange.setSandboxMode(true); - this.logger.log( - `${exName} ${account.label} sandbox mode activated.`, - ); + // Testnet routing where supported + if (isTestnet && typeof (exchange as any).setSandboxMode === 'function') { + (exchange as any).setSandboxMode(true); + this.logger.log(`[${exName}:${acct.label}] sandbox mode ON.`); } + // Preload markets to configure symbol routing/types await exchange.loadMarkets(); - // Special signIn for ProBit - if (config.name === 'probit' && exchange.has['signIn']) { + // ProBit requires signIn for private endpoints + if (cfg.name === 'probit' && exchange.has?.signIn) { try { - await exchange.signIn(); - this.logger.log( - `${exName} ${account.label} signed in successfully.`, - ); - } catch (error) { + await (exchange as any).signIn(); + this.logger.log(`[${exName}:${acct.label}] signIn OK.`); + } catch (error: any) { this.logger.error( - `${exName} ${account.label} sign-in failed: ${error.message}`, + `[${exName}:${acct.label}] signIn failed: ${error?.message ?? error}`, ); } } - exchangeMap.set(account.label, exchange); + // Diagnostics (time skew + auth smoke test) + await this.postInitDiagnostics(exName, acct.label, exchange); - if (account.label === 'default') { + exchangeMap.set(acct.label, exchange); + if (acct.label === 'default') { this.defaultAccounts.set(exName, exchange); } - this.logger.log( - `${exName} ${account.label} initialized successfully.`, - ); - } catch (error) { + this.logger.log(`[${exName}:${acct.label}] initialized.`); + } catch (error: any) { this.logger.error( - `Failed to initialize ${exName} ${account.label}: ${error.message}`, + `Failed to initialize [${exName}:${acct.label}]: ${error?.message ?? error}`, ); } }), @@ -162,35 +255,36 @@ export class ExchangeInitService { ); } + /** ---------- keep-alive ---------- */ + private startKeepAlive() { const intervalMs = 5 * 60 * 1000; // 5 minutes setInterval(async () => { this.logger.log('Running keep-alive checks for all exchanges...'); for (const [exchangeName, accounts] of this.exchanges) { + // ProBit token expires; keep it fresh but avoid resetting open orders if (exchangeName.startsWith('probit')) { for (const [label, exchange] of accounts) { try { - if (!exchange.has['signIn']) { - this.logger.log( - `ProBit ${label} does not support signIn. Skipping...`, - ); + if (!exchange.has?.signIn) { + this.logger.log(`ProBit ${label} has no signIn. Skipping...`); continue; } const openOrders = await exchange.fetchOpenOrders(); if (openOrders.length > 0) { this.logger.log( - `ProBit ${label} has open orders. Skipping signIn to avoid resetting them.`, + `ProBit ${label} has open orders → skipping signIn to avoid resets.`, ); continue; } - await exchange.signIn(); + await (exchange as any).signIn(); this.logger.log(`ProBit ${label} re-signed in successfully.`); - } catch (error) { + } catch (error: any) { this.logger.error( - `ProBit ${label} keep-alive signIn failed: ${error.message}`, + `ProBit ${label} keep-alive signIn failed: ${error?.message ?? error}`, ); } } @@ -199,6 +293,8 @@ export class ExchangeInitService { }, intervalMs); } + /** ---------- getters ---------- */ + getExchange(exchangeName: string, label: string = 'default'): ccxt.Exchange { const exchangeMap = this.exchanges.get(exchangeName); if (!exchangeMap) { @@ -239,6 +335,8 @@ export class ExchangeInitService { return exchange; } + /** ---------- helpers ---------- */ + async getDepositAddress( exchangeName: string, tokenSymbol: string, @@ -247,17 +345,14 @@ export class ExchangeInitService { ): Promise { try { const exchange = this.getExchange(exchangeName, label); - if (!exchange.has['fetchDepositAddress']) { + if (!exchange.has?.fetchDepositAddress) { throw new InternalServerErrorException( `Exchange ${exchangeName} does not support fetching deposit addresses.`, ); } const params = network ? { network } : {}; - const addressInfo = await exchange.fetchDepositAddress( - tokenSymbol, - params, - ); + const addressInfo = await exchange.fetchDepositAddress(tokenSymbol, params); if (!addressInfo || !addressInfo.address) { throw new InternalServerErrorException( @@ -266,9 +361,9 @@ export class ExchangeInitService { } return addressInfo.address; - } catch (error) { + } catch (error: any) { this.logger.error( - `Error fetching deposit address for ${tokenSymbol} on ${network} from ${exchangeName}: ${error.message}`, + `Error fetching deposit address for ${tokenSymbol} on ${network} from ${exchangeName}: ${error?.message ?? error}`, ); throw new InternalServerErrorException('Failed to get deposit address.'); } diff --git a/server/src/modules/strategy/solana-volume/solana-volume-strategy.controller.ts b/server/src/modules/strategy/solana-volume/solana-volume-strategy.controller.ts new file mode 100644 index 00000000..88fe37e2 --- /dev/null +++ b/server/src/modules/strategy/solana-volume/solana-volume-strategy.controller.ts @@ -0,0 +1,95 @@ +import { Body, Controller, Get, HttpCode, HttpStatus, Post, Query } from '@nestjs/common'; +import { ApiBody, ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; + +import { SolanaVolumeStrategyService } from './solana-volume-strategy.service'; +import { StartVolumeDto } from './start-volume.dto'; +import { StopVolumeDto } from './stop-volume.dto'; +import { VolumeStrategyConfig } from './solana-volume.types'; +import { parsePrivateKeyToUint8Array } from 'src/common/helpers/key-utils'; + +@ApiTags('Solana Volume') +@Controller('solana-volume') +export class SolanaVolumeStrategyController { + constructor(private readonly svc: SolanaVolumeStrategyService) {} + + @Post('start') + @HttpCode(HttpStatus.OK) + @ApiOperation({ summary: 'Start a Solana volume strategy' }) + @ApiBody({ type: StartVolumeDto }) + @ApiOkResponse({ + schema: { + type: 'object', + properties: { + strategyKey: { type: 'string' }, + status: { type: 'string', example: 'started' }, + }, + }, + }) + async start(@Body() dto: StartVolumeDto) { + const config: VolumeStrategyConfig = { + userId: dto.userId, + clientId: dto.clientId, + rpcUrl: dto.rpcUrl, + inputMint: dto.inputMint, + outputMint: dto.outputMint, + baseTradeAmount: dto.baseTradeAmount, + numTrades: dto.numTrades, + baseIntervalTime: dto.baseIntervalTime, + slippageBps: dto.slippageBps, + pricePushRate: dto.pricePushRate, + maxLossThreshold: dto.maxLossThreshold, + }; + + const { strategyKey } = await this.svc.startVolumeStrategy(config); + return { strategyKey, status: 'started' }; + } + + @Post('stop') + @HttpCode(HttpStatus.OK) + @ApiOperation({ summary: 'Stop a running strategy' }) + @ApiBody({ type: StopVolumeDto }) + @ApiOkResponse({ schema: { properties: { status: { type: 'string', example: 'stopped' } } } }) + async stop(@Body() dto: StopVolumeDto) { + await this.svc.stopVolumeStrategy(dto.userId, dto.clientId); + return { status: 'stopped' }; + } + + @Get('running') + @ApiOperation({ summary: 'List running strategies (strategy keys)' }) + @ApiOkResponse({ schema: { type: 'array', items: { type: 'string' } } }) + running() { + return this.svc.getRunningStrategies(); + } + + @Get('status') + @ApiOperation({ summary: 'Get strategy status (sanitized)' }) + @ApiOkResponse({ + schema: { + type: 'object', + properties: { + isRunning: { type: 'boolean' }, + tradesExecuted: { type: 'number' }, + useWalletAAsBuyer: { type: 'boolean' }, + initialBalances: { + type: 'object', + properties: { + walletA: { type: 'number', description: 'lamports' }, + walletB: { type: 'number', description: 'lamports' }, + }, + }, + consecutiveErrors: { type: 'number' }, + }, + }, + }) + status(@Query('userId') userId: string, @Query('clientId') clientId: string) { + return this.svc.getStrategyStatus(userId, clientId); + } + + @Get('price') + @ApiOperation({ summary: 'Get current price for the configured pair' }) + @ApiOkResponse({ schema: { type: 'number', description: 'Price of 1 input token in output token units' } }) + async price(@Query('userId') userId: string, @Query('clientId') clientId: string) { + const price = await this.svc.getCurrentPrice(userId, clientId); + return price; + } +} diff --git a/server/src/modules/strategy/solana-volume/solana-volume-strategy.module.ts b/server/src/modules/strategy/solana-volume/solana-volume-strategy.module.ts new file mode 100644 index 00000000..06eb04c1 --- /dev/null +++ b/server/src/modules/strategy/solana-volume/solana-volume-strategy.module.ts @@ -0,0 +1,12 @@ +import { Module } from '@nestjs/common'; +import { SolanaVolumeStrategyService } from './solana-volume-strategy.service'; +import { SolanaVolumeStrategyController } from './solana-volume-strategy.controller'; +import { ConfigModule } from '@nestjs/config'; + +@Module({ + imports: [ConfigModule], + controllers: [SolanaVolumeStrategyController], + providers: [SolanaVolumeStrategyService], + exports: [SolanaVolumeStrategyService], +}) +export class SolanaVolumeStrategyModule {} diff --git a/server/src/modules/strategy/solana-volume/solana-volume-strategy.service.ts b/server/src/modules/strategy/solana-volume/solana-volume-strategy.service.ts new file mode 100644 index 00000000..dc96363d --- /dev/null +++ b/server/src/modules/strategy/solana-volume/solana-volume-strategy.service.ts @@ -0,0 +1,631 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { Connection, PublicKey, VersionedTransaction, Keypair } from '@solana/web3.js'; +import { Wallet } from '@coral-xyz/anchor'; +import { createJupiterApiClient, QuoteResponse } from '@jup-ag/api'; +import * as fs from 'fs'; +import { getMint } from '@solana/spl-token'; +import bs58 from 'bs58'; // npm i bs58 + +import { VolumeStrategyConfig, StrategyInstance, TradeData } from './solana-volume.types'; +import { parsePrivateKeyToUint8Array } from 'src/common/helpers/key-utils'; + +type JupiterClient = ReturnType; + +@Injectable() +export class SolanaVolumeStrategyService { + private readonly logger = new Logger(SolanaVolumeStrategyService.name); + + private strategyInstances = new Map(); + private connections = new Map(); + private jupiterInstances = new Map(); + private walletPairs = new Map(); + + constructor(private readonly config: ConfigService) {} + + /** Generate a unique strategy key for tracking */ + private createStrategyKey(userId: string, clientId: string): string { + const key = `solana-volume-${userId}-${clientId}`; + return key; + } + + /** Start a volume generation strategy */ + async startVolumeStrategy(config: VolumeStrategyConfig): Promise<{ strategyKey: string }> { + const strategyKey = this.createStrategyKey(config.userId, config.clientId); + this.logger.log(`startVolumeStrategy() called -> ${strategyKey}`); + + if (this.strategyInstances.has(strategyKey)) { + this.logger.warn(`Strategy ${strategyKey} already exists; returning existing key`); + return { strategyKey }; + } + + try { + this.logger.debug(`Creating Connection to ${config.rpcUrl} with commitment 'confirmed'`); + const connection = new Connection(config.rpcUrl, 'confirmed'); + + this.logger.debug(`Creating Jupiter API client`); + const jupiter = createJupiterApiClient({}); + + this.logger.debug(`Loading wallets from env...`); + const { walletA, walletB } = this.loadWalletsFromEnv(); + this.logger.log( + `Wallets loaded. A=${walletA.publicKey.toBase58()} B=${walletB.publicKey.toBase58()}`, + ); + + this.connections.set(strategyKey, connection); + this.jupiterInstances.set(strategyKey, jupiter); + this.walletPairs.set(strategyKey, { walletA, walletB }); + + const instance: StrategyInstance = { + isRunning: true, + config, + tradesExecuted: 0, + useWalletAAsBuyer: true, + consecutiveErrors: 0, + }; + + this.strategyInstances.set(strategyKey, instance); + + this.logger.debug(`Checking initial balances for ${strategyKey}`); + await this.checkBalances(strategyKey); + + this.logger.log( + `Strategy ${strategyKey} started: mints in=${config.inputMint} out=${config.outputMint}, baseAmt=${config.baseTradeAmount}, trades=${config.numTrades}, baseInterval=${config.baseIntervalTime}s, slippageBps=${config.slippageBps}`, + ); + + // Kick off the loop + this.logger.debug(`Kicking off executeTradingCycle for ${strategyKey}`); + await this.executeTradingCycle(strategyKey); + + return { strategyKey }; + } catch (error: any) { + this.logger.error( + `startVolumeStrategy failed for ${strategyKey}: ${error?.message ?? error}`, + error?.stack, + ); + this.cleanupStrategy(strategyKey); + throw error; + } + } + + /** Stop a running volume strategy */ + async stopVolumeStrategy(userId: string, clientId: string): Promise { + const strategyKey = this.createStrategyKey(userId, clientId); + this.logger.warn(`Stopping strategy ${strategyKey}`); + + const instance = this.strategyInstances.get(strategyKey); + if (!instance) { + this.logger.warn(`stopVolumeStrategy: instance not found for ${strategyKey}`); + return; + } + + instance.isRunning = false; + if (instance.timeoutId) { + clearTimeout(instance.timeoutId); + this.logger.debug(`Cleared timeout for ${strategyKey}`); + } + this.cleanupStrategy(strategyKey); + this.logger.log(`Strategy ${strategyKey} stopped and cleaned up`); + } + + /** Execute trades in a loop */ + private async executeTradingCycle(strategyKey: string): Promise { + this.logger.debug(`executeTradingCycle() ENTER ${strategyKey}`); + const instance = this.strategyInstances.get(strategyKey); + if (!instance) { + this.logger.warn(`executeTradingCycle: instance not found for ${strategyKey}`); + return; + } + if (!instance.isRunning) { + this.logger.warn(`executeTradingCycle: ${strategyKey} is not running (exit)`); + return; + } + + if (instance.tradesExecuted >= instance.config.numTrades) { + this.logger.log( + `Trade count reached (${instance.tradesExecuted}/${instance.config.numTrades}) for ${strategyKey}, stopping...`, + ); + await this.stopVolumeStrategy(instance.config.userId, instance.config.clientId); + return; + } + + try { + this.logger.debug( + `Executing trade #${instance.tradesExecuted + 1} for ${strategyKey}; buyer=${ + instance.useWalletAAsBuyer ? 'A' : 'B' + }`, + ); + await this.executeTrade(strategyKey); + + instance.tradesExecuted++; + instance.useWalletAAsBuyer = !instance.useWalletAAsBuyer; + instance.consecutiveErrors = 0; + + this.logger.log( + `Trade #${instance.tradesExecuted} complete for ${strategyKey}; next buyer will be ${ + instance.useWalletAAsBuyer ? 'A' : 'B' + }`, + ); + + if (instance.config.maxLossThreshold) { + const shouldStop = await this.checkLossThreshold(strategyKey); + this.logger.debug( + `Loss threshold check for ${strategyKey}: shouldStop=${shouldStop}`, + ); + if (shouldStop) { + this.logger.warn(`Max loss threshold hit for ${strategyKey}, stopping strategy`); + await this.stopVolumeStrategy(instance.config.userId, instance.config.clientId); + return; + } + } + + const nextDelay = this.calculateNextTradeDelay(instance.config.baseIntervalTime); + this.logger.log( + `Scheduling next trade for ${strategyKey} in ${nextDelay} ms (base=${instance.config.baseIntervalTime}s)`, + ); + instance.timeoutId = setTimeout(() => { + this.executeTradingCycle(strategyKey).catch((err) => + this.logger.error( + `executeTradingCycle error (scheduled) for ${strategyKey}: ${err?.message ?? err}`, + err?.stack, + ), + ); + }, nextDelay); + } catch (error: any) { + instance.consecutiveErrors = (instance.consecutiveErrors ?? 0) + 1; + const base = instance.config.baseIntervalTime * 1000; + const factor = Math.min(2 ** (instance.consecutiveErrors - 1), 8); + const retryDelay = Math.floor(base * factor); + + this.logger.error( + `executeTradingCycle error for ${strategyKey} (consecutiveErrors=${instance.consecutiveErrors}) -> retry in ${retryDelay} ms: ${error?.message ?? error}`, + error?.stack, + ); + + instance.timeoutId = setTimeout(() => { + this.executeTradingCycle(strategyKey).catch((err) => + this.logger.error( + `executeTradingCycle error (retry) for ${strategyKey}: ${err?.message ?? err}`, + err?.stack, + ), + ); + }, retryDelay); + } + } + + /** Execute one buy + sell round */ + private async executeTrade(strategyKey: string): Promise { + const instance = this.strategyInstances.get(strategyKey); + if (!instance) throw new Error(`Strategy ${strategyKey} not found`); + + const { config, useWalletAAsBuyer } = instance; + const jupiter = this.jupiterInstances.get(strategyKey); + const wallets = this.walletPairs.get(strategyKey); + if (!jupiter || !wallets) throw new Error(`Jupiter or wallets not ready for ${strategyKey}`); + + const buyerWallet = useWalletAAsBuyer ? wallets.walletA : wallets.walletB; + const sellerWallet = useWalletAAsBuyer ? wallets.walletB : wallets.walletA; + + const amount = this.calculateTradeAmount(config.baseTradeAmount); + this.logger.debug( + `Fetching BUY quote for ${strategyKey}: in=${config.inputMint} out=${config.outputMint} amount=${amount} (atomic)`, + ); + + const buyQuote = await jupiter.quoteGet({ + inputMint: config.inputMint, + outputMint: config.outputMint, + amount, + slippageBps: config.slippageBps, + }); + if (!buyQuote) throw new Error('No buy quote available'); + + this.logger.debug( + `Executing BUY swap for ${strategyKey} as ${buyerWallet.publicKey.toBase58()} | outAmount=${buyQuote.outAmount}`, + ); + const buySig = await this.executeSwap(strategyKey, buyerWallet, buyQuote); + this.logger.log(`BUY tx sent for ${strategyKey}: sig=${buySig}`); + + await this.delay(1000); + + const sellAmount = parseInt(String(buyQuote.outAmount), 10); + this.logger.debug( + `Fetching SELL quote for ${strategyKey}: in=${config.outputMint} out=${config.inputMint} amount=${sellAmount} (atomic)`, + ); + + const sellQuote = await jupiter.quoteGet({ + inputMint: config.outputMint, + outputMint: config.inputMint, + amount: sellAmount, + slippageBps: config.slippageBps, + }); + if (!sellQuote) throw new Error('No sell quote available'); + + this.logger.debug( + `Executing SELL swap for ${strategyKey} as ${sellerWallet.publicKey.toBase58()} | outAmount=${sellQuote.outAmount}`, + ); + const sellSig = await this.executeSwap(strategyKey, sellerWallet, sellQuote); + this.logger.log(`SELL tx sent for ${strategyKey}: sig=${sellSig}`); + + await this.recordTrade( + strategyKey, + buyQuote, + sellQuote, + buyerWallet.publicKey.toBase58(), + sellerWallet.publicKey.toBase58(), + ); + this.logger.debug(`Trade recorded for ${strategyKey}`); + } + + /** Perform the swap using Jupiter /swap */ + private async executeSwap( + strategyKey: string, + wallet: Wallet, + quote: QuoteResponse, + ): Promise { + const connection = this.connections.get(strategyKey); + const jupiter = this.jupiterInstances.get(strategyKey); + if (!connection || !jupiter) throw new Error(`Missing connection or jupiter for ${strategyKey}`); + + this.logger.debug( + `swapPost -> user=${wallet.publicKey.toBase58()} in=${(quote as any)?.inAmount} out=${(quote as any)?.outAmount}`, + ); + + const swapResult = await jupiter.swapPost({ + swapRequest: { + quoteResponse: quote, + userPublicKey: wallet.publicKey.toBase58(), + wrapAndUnwrapSol: true, + }, + }); + + const swapTransaction = (swapResult as any)?.swapTransaction as string | undefined; + if (!swapTransaction) throw new Error('swapPost returned no swapTransaction'); + + this.logger.debug(`Deserializing and signing tx for ${strategyKey}`); + const txBytes = new Uint8Array(Buffer.from(swapTransaction, 'base64')); + const transaction = VersionedTransaction.deserialize(txBytes); + transaction.sign([wallet.payer]); + + const latestBlockhash = await connection.getLatestBlockhash(); + this.logger.debug( + `Sending raw tx for ${strategyKey}; lastValidBlockHeight=${latestBlockhash.lastValidBlockHeight}`, + ); + const signature = await connection.sendRawTransaction(transaction.serialize(), { + skipPreflight: true, + maxRetries: 2, + }); + + this.logger.debug(`Confirming tx ${signature} for ${strategyKey}`); + const confirmation = await connection.confirmTransaction({ + signature, + blockhash: latestBlockhash.blockhash, + lastValidBlockHeight: latestBlockhash.lastValidBlockHeight, + }); + + if (confirmation.value.err) { + this.logger.error( + `Transaction failed for ${strategyKey}: ${JSON.stringify(confirmation.value.err)}`, + ); + throw new Error(`Transaction failed: ${JSON.stringify(confirmation.value.err)}`); + } + + this.logger.debug(`Transaction confirmed for ${strategyKey}: ${signature}`); + return signature; + } + + /** Check balances (stores initial on first call) */ + private async checkBalances(strategyKey: string): Promise { + const instance = this.strategyInstances.get(strategyKey); + const connection = this.connections.get(strategyKey); + const wallets = this.walletPairs.get(strategyKey); + if (!instance || !connection || !wallets) { + this.logger.warn(`checkBalances aborted: missing instance/connection/wallets for ${strategyKey}`); + return; + } + + const balanceA = await connection.getBalance(wallets.walletA.publicKey); + const balanceB = await connection.getBalance(wallets.walletB.publicKey); + this.logger.log( + `Balances for ${strategyKey}: A=${wallets.walletA.publicKey.toBase58()} => ${balanceA} lamports, B=${wallets.walletB.publicKey.toBase58()} => ${balanceB} lamports`, + ); + + if (!instance.initialBalances) { + instance.initialBalances = { walletA: balanceA, walletB: balanceB }; + this.logger.debug(`Initial balances stored for ${strategyKey}`); + } + } + + /** Loss threshold check */ + private async checkLossThreshold(strategyKey: string): Promise { + const instance = this.strategyInstances.get(strategyKey); + const connection = this.connections.get(strategyKey); + const wallets = this.walletPairs.get(strategyKey); + if (!instance || !connection || !wallets || !instance.config.maxLossThreshold) { + return false; + } + + const currentBalanceA = await connection.getBalance(wallets.walletA.publicKey); + const currentBalanceB = await connection.getBalance(wallets.walletB.publicKey); + + const totalCurrent = currentBalanceA + currentBalanceB; + const totalInitial = + (instance.initialBalances?.walletA ?? 0) + (instance.initialBalances?.walletB ?? 0); + const currentLoss = (totalInitial - totalCurrent) / 1e9; // SOL + + this.logger.debug( + `Loss check ${strategyKey}: initial=${totalInitial} current=${totalCurrent} loss=${currentLoss} SOL threshold=${instance.config.maxLossThreshold}`, + ); + + return currentLoss > instance.config.maxLossThreshold; + } + + /** Persist trade record */ + private async recordTrade( + strategyKey: string, + buyQuote: QuoteResponse, + sellQuote: QuoteResponse, + buyerWallet: string, + sellerWallet: string, + ): Promise { + const instance = this.strategyInstances.get(strategyKey); + if (!instance) return; + + const tradeData: TradeData = { + timestamp: new Date(), + tradeNumber: instance.tradesExecuted + 1, + buyQuote, + sellQuote, + fees: this.calculateFee(buyQuote) + this.calculateFee(sellQuote), + buyerWallet, + sellerWallet, + }; + + this.saveTradeData(strategyKey, tradeData); + } + + /** Best-effort fee summation */ + private calculateFee(quote: QuoteResponse): number { + let totalFee = 0; + try { + const routePlan = (quote as any)?.routePlan; + if (Array.isArray(routePlan)) { + for (const step of routePlan) { + const feeAmount = step?.swapInfo?.feeAmount + ? parseInt(String(step.swapInfo.feeAmount), 10) / 1e9 + : 0; + totalFee += Number.isFinite(feeAmount) ? feeAmount : 0; + } + } + } catch { + // ignore + } + return totalFee; + } + + /** Append to JSON file */ + private saveTradeData(strategyKey: string, tradeData: TradeData): void { + const filename = `solana_volume_${strategyKey}_trades.json`; + let existing: TradeData[] = []; + try { + if (fs.existsSync(filename)) { + existing = JSON.parse(fs.readFileSync(filename, 'utf8')); + } + } catch (e: any) { + this.logger.error(`Failed reading existing trade data file "${filename}": ${e?.message ?? e}`); + existing = []; + } + existing.push(tradeData); + try { + fs.writeFileSync(filename, JSON.stringify(existing, null, 2)); + this.logger.debug(`Trade data appended to ${filename}`); + } catch (e: any) { + this.logger.error(`Failed writing trade data file "${filename}": ${e?.message ?? e}`); + } + } + + /** Randomized trade amount (>= 1 atomic unit) */ + private calculateTradeAmount(baseAmount: number): number { + const variation = 1 + (Math.random() * 0.2 - 0.1); + const amt = Math.max(1, Math.floor(baseAmount * variation)); + this.logger.debug(`calculateTradeAmount: base=${baseAmount} -> amt=${amt}`); + return amt; + } + + /** Randomized delay (ms) */ + private calculateNextTradeDelay(baseDelaySeconds: number): number { + const baseDelayMs = baseDelaySeconds * 1000; + const variation = 1 + (Math.random() * 0.4 - 0.2); + const delay = Math.floor(baseDelayMs * variation); + this.logger.debug( + `calculateNextTradeDelay: base=${baseDelaySeconds}s -> delay=${delay}ms (variation=${variation.toFixed( + 3, + )})`, + ); + return delay; + } + + /** Public helpers */ + + getRunningStrategies(): string[] { + const running = Array.from(this.strategyInstances.keys()).filter( + (key) => this.strategyInstances.get(key)?.isRunning, + ); + this.logger.debug(`getRunningStrategies -> [${running.join(', ')}]`); + return running; + } + + getStrategyStatus(userId: string, clientId: string): Omit | undefined { + const strategyKey = this.createStrategyKey(userId, clientId); + const inst = this.strategyInstances.get(strategyKey); + if (!inst) { + this.logger.warn(`getStrategyStatus: not found ${strategyKey}`); + return undefined; + } + const { isRunning, tradesExecuted, useWalletAAsBuyer, initialBalances, consecutiveErrors } = + inst; + this.logger.debug( + `getStrategyStatus(${strategyKey}) -> running=${isRunning} trades=${tradesExecuted} nextBuyer=${ + useWalletAAsBuyer ? 'A' : 'B' + } errors=${consecutiveErrors}`, + ); + return { + isRunning, + tradesExecuted, + useWalletAAsBuyer, + initialBalances, + consecutiveErrors, + } as any; + } + + async getCurrentPrice(userId: string, clientId: string): Promise { + const strategyKey = this.createStrategyKey(userId, clientId); + this.logger.debug(`getCurrentPrice() for ${strategyKey}`); + + const instance = this.strategyInstances.get(strategyKey); + const jupiter = this.jupiterInstances.get(strategyKey); + const connection = this.connections.get(strategyKey); + if (!instance || !jupiter || !connection) { + const msg = `Strategy ${strategyKey} not ready`; + this.logger.warn(msg); + throw new Error(msg); + } + + const inMint = await getMint(connection, new PublicKey(instance.config.inputMint)); + const outMint = await getMint(connection, new PublicKey(instance.config.outputMint)); + + const inDecimals = inMint.decimals; + const outDecimals = outMint.decimals; + + const oneTokenAtomic = Math.floor(10 ** inDecimals); + this.logger.debug( + `Requesting quote 1 token -> atomic=${oneTokenAtomic} in=${instance.config.inputMint} out=${instance.config.outputMint}`, + ); + + const quote = await jupiter.quoteGet({ + inputMint: instance.config.inputMint, + outputMint: instance.config.outputMint, + amount: oneTokenAtomic, + slippageBps: 50, + }); + if (!quote) { + this.logger.warn(`getCurrentPrice: no quote`); + return 0; + } + + const outAtomic = parseInt(String(quote.outAmount), 10); + const price = outAtomic / Math.pow(10, outDecimals); + this.logger.debug(`getCurrentPrice: outAtomic=${outAtomic} -> price=${price}`); + return price; + } + + /** Cleanup */ + private cleanupStrategy(strategyKey: string): void { + this.logger.debug(`cleanupStrategy for ${strategyKey}`); + this.strategyInstances.delete(strategyKey); + this.connections.delete(strategyKey); + this.jupiterInstances.delete(strategyKey); + this.walletPairs.delete(strategyKey); + } + + private delay(ms: number): Promise { + return new Promise((r) => setTimeout(r, ms)); + } + + /** Load wallets from env vars SOLANA_PRIVATE_KEY_1 / SOLANA_PRIVATE_KEY_2 */ + private loadWalletsFromEnv(): { walletA: Wallet; walletB: Wallet } { + const k1 = + (this.config.get('SOLANA_PRIVATE_KEY_1') ?? process.env.SOLANA_PRIVATE_KEY_1)?.trim(); + const k2 = + (this.config.get('SOLANA_PRIVATE_KEY_2') ?? process.env.SOLANA_PRIVATE_KEY_2)?.trim(); + + if (!k1 || !k2) { + throw new Error('Missing SOLANA_PRIVATE_KEY_1 and/or SOLANA_PRIVATE_KEY_2 in environment'); + } + + const kp1 = this.keypairFromAny(k1, 'SOLANA_PRIVATE_KEY_1'); + const kp2 = this.keypairFromAny(k2, 'SOLANA_PRIVATE_KEY_2'); + + this.logger.debug( + `Parsed keypairs: kp1.len=${kp1.secretKey?.length ?? 'n/a'} kp2.len=${kp2.secretKey?.length ?? 'n/a'}`, + ); + + return { walletA: new Wallet(kp1), walletB: new Wallet(kp2) }; + } + + /** Accept 64-byte secret key or 32-byte seed, in JSON array, base64, hex, or base58 */ + private keypairFromAny(input: string, label: string): Keypair { + // squash accidental whitespace/newlines common in .env files + const s = input.replace(/\s+/g, ' ').trim(); + + let bytes: Uint8Array | null = null; + let parsedVia: string | null = null; + + // 1) JSON array: "[12,34,...]" + if (!bytes && s.startsWith('[') && s.endsWith(']')) { + try { + const arr = JSON.parse(s); + if (Array.isArray(arr)) { + bytes = Uint8Array.from(arr); + parsedVia = 'json-array'; + } + } catch { /* ignore */ } + } + + // 2) base64 + if (!bytes) { + try { + const b = Buffer.from(s, 'base64'); + if (b.length === 32 || b.length === 64) { + bytes = new Uint8Array(b); + parsedVia = 'base64'; + } + } catch { /* ignore */ } + } + + // 3) hex (64 hex chars = 32 bytes, 128 hex chars = 64 bytes) + if (!bytes && /^[0-9a-fA-F]+$/.test(s) && (s.length === 64 || s.length === 128)) { + const b = Buffer.from(s, 'hex'); + bytes = new Uint8Array(b); + parsedVia = 'hex'; + } + + // 4) base58 + if (!bytes) { + try { + const b = bs58.decode(s); + if (b.length === 32 || b.length === 64) { + bytes = b; + parsedVia = 'base58'; + } + } catch { /* ignore */ } + } + + // 5) fallback to your helper, if present + if (!bytes) { + try { + const b = parsePrivateKeyToUint8Array(s); + if (b?.length === 32 || b?.length === 64) { + bytes = b; + parsedVia = 'helper'; + } + } catch { /* ignore */ } + } + + if (!bytes) { + this.logger.error( + `${label}: could not parse private key. Accepted formats: JSON [64], base64, hex, or base58 of 32 or 64 bytes.`, + ); + throw new Error( + `${label}: could not parse private key. Accepted formats: JSON [64], base64, hex, or base58 of 32 or 64 bytes.`, + ); + } + + this.logger.debug(`${label}: parsed via=${parsedVia} length=${bytes.length} bytes`); + + if (bytes.length === 64) return Keypair.fromSecretKey(bytes); + if (bytes.length === 32) return Keypair.fromSeed(bytes); + + this.logger.error(`${label}: invalid key length ${bytes.length}. Expected 32 or 64 bytes.`); + throw new Error(`${label}: invalid key length ${bytes.length}. Expected 32 or 64 bytes.`); + } +} diff --git a/server/src/modules/strategy/solana-volume/solana-volume.types.ts b/server/src/modules/strategy/solana-volume/solana-volume.types.ts new file mode 100644 index 00000000..399f0e2a --- /dev/null +++ b/server/src/modules/strategy/solana-volume/solana-volume.types.ts @@ -0,0 +1,40 @@ +import { Connection } from '@solana/web3.js'; +import { QuoteResponse } from '@jup-ag/api'; + +export interface VolumeStrategyConfig { + userId: string; + clientId: string; + rpcUrl: string; + inputMint: string; // SPL mint address + outputMint: string; // SPL mint address + baseTradeAmount: number; // atomic units of input mint + numTrades: number; + baseIntervalTime: number; // seconds + slippageBps: number; // e.g. 50 = 0.5% + pricePushRate: number; // reserved + maxLossThreshold?: number; // in SOL +} + +export interface StrategyInstance { + isRunning: boolean; + timeoutId?: NodeJS.Timeout; + config: VolumeStrategyConfig; + tradesExecuted: number; + useWalletAAsBuyer: boolean; + initialBalances?: { + walletA: number; // lamports + walletB: number; // lamports + }; + consecutiveErrors?: number; +} + +export interface TradeData { + timestamp: Date; + tradeNumber: number; + buyQuote: QuoteResponse; + sellQuote: QuoteResponse; + fees: number; + buyerWallet: string; // base58 + sellerWallet: string; // base58 + pnl?: number; +} diff --git a/server/src/modules/strategy/solana-volume/start-volume.dto.ts b/server/src/modules/strategy/solana-volume/start-volume.dto.ts new file mode 100644 index 00000000..56718c59 --- /dev/null +++ b/server/src/modules/strategy/solana-volume/start-volume.dto.ts @@ -0,0 +1,55 @@ +import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; +import { Transform } from 'class-transformer'; +import { IsInt, IsNumber, IsOptional, IsString, Min } from 'class-validator'; + +export class StartVolumeDto { + @ApiProperty({ example: 'user123' }) + @IsString() + userId!: string; + + @ApiProperty({ example: 'clientA' }) + @IsString() + clientId!: string; + + @ApiProperty({ example: 'https://api.mainnet-beta.solana.com' }) + @IsString() + rpcUrl!: string; + + + @ApiProperty({ description: 'Input SPL mint', example: 'So11111111111111111111111111111111111111112' }) + @IsString() + inputMint!: string; + + @ApiProperty({ description: 'Output SPL mint', example: 'So11111111111111111111111111111111111111112' }) + @IsString() + outputMint!: string; + + @ApiProperty({ description: 'Base trade amount (atomic units of input mint)', example: 1_000_000 }) + @IsInt() + @Min(1) + baseTradeAmount!: number; + + @ApiProperty({ description: 'Number of trades to execute', example: 30 }) + @IsInt() + @Min(1) + numTrades!: number; + + @ApiProperty({ description: 'Base interval (seconds) between trades', example: 15 }) + @IsInt() + @Min(1) + baseIntervalTime!: number; + + @ApiProperty({ description: 'Slippage in bps (e.g. 50 = 0.5%)', example: 50 }) + @IsInt() + @Min(0) + slippageBps!: number; + + @ApiProperty({ description: 'Reserved for price push logic', example: 0 }) + @IsNumber() + pricePushRate!: number; + + @ApiPropertyOptional({ description: 'Max loss threshold in SOL', example: 0.25 }) + @IsOptional() + @IsNumber() + maxLossThreshold?: number; +} diff --git a/server/src/modules/strategy/solana-volume/stop-volume.dto.ts b/server/src/modules/strategy/solana-volume/stop-volume.dto.ts new file mode 100644 index 00000000..b020b44c --- /dev/null +++ b/server/src/modules/strategy/solana-volume/stop-volume.dto.ts @@ -0,0 +1,12 @@ +import { ApiProperty } from '@nestjs/swagger'; +import { IsString } from 'class-validator'; + +export class StopVolumeDto { + @ApiProperty({ example: 'user123' }) + @IsString() + userId!: string; + + @ApiProperty({ example: 'clientA' }) + @IsString() + clientId!: string; +} diff --git a/server/src/modules/strategy/strategy.service.ts b/server/src/modules/strategy/strategy.service.ts index 75dec5d1..4aee346a 100644 --- a/server/src/modules/strategy/strategy.service.ts +++ b/server/src/modules/strategy/strategy.service.ts @@ -359,302 +359,222 @@ export class StrategyService { } } - async executeVolumeStrategy( - exchangeName: string, - symbol: string, - baseIncrementPercentage: number, - baseIntervalTime: number, - baseTradeAmount: number, - numTrades: number, - userId: string, - clientId: string, - pricePushRate: number, - postOnlySide: 'buy' | 'sell', - ) { - const strategyKey = createStrategyKey({ - type: 'volume', - user_id: userId, - client_id: clientId, - }); - - try { - let strategyInstance = await this.strategyInstanceRepository.findOne({ - where: { strategyKey }, - }); - - const exchange = this.exchangeInitService.getExchange(exchangeName); - const ticker = await exchange.fetchTicker(symbol); - const startPrice = Math.trunc(ticker.last); +async executeVolumeStrategy( + exchangeName: string, + symbol: string, + baseIncrementPercentage: number, + baseIntervalTime: number, + baseTradeAmount: number, + numTrades: number, + userId: string, + clientId: string, + pricePushRate: number, + postOnlySide: 'buy' | 'sell', +) { + const strategyKey = createStrategyKey({ + type: 'volume', + user_id: userId, + client_id: clientId, + }); + + try { + let strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey } }); + + const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); + const ex2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); + await ex1.loadMarkets(); + await ex2.loadMarkets(); + + const market = ex1.market(symbol); + if (!market) throw new Error(`Market not found for ${symbol} on ${ex1.id}`); + + const priceToPrec = (p: number) => Number(ex1.priceToPrecision(symbol, p)); + const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); + const minAmt = market.limits?.amount?.min ?? 0; + const minPrice = market.limits?.price?.min ?? 0; + + const startTicker = await ex1.fetchTicker(symbol); + const startPrice = Number(startTicker.last); + + const parameters = { + exchangeName, + symbol, + baseIncrementPercentage, + baseIntervalTime, + baseTradeAmount, + numTrades, + userId, + clientId, + pricePushRate, + postOnlySide, + }; - const parameters = { - exchangeName, - symbol, - baseIncrementPercentage, - baseIntervalTime, - baseTradeAmount, - numTrades, + if (!strategyInstance) { + strategyInstance = this.strategyInstanceRepository.create({ + strategyKey, userId, clientId, - pricePushRate, - postOnlySide, - }; + strategyType: 'volume', + parameters, + status: 'running', + startPrice, + }); + await this.strategyInstanceRepository.save(strategyInstance); + } else { + await this.strategyInstanceRepository.update( + { strategyKey }, + { status: 'running', updatedAt: new Date() }, + ); + } - if (!strategyInstance) { - strategyInstance = this.strategyInstanceRepository.create({ - strategyKey, - userId, - clientId, - strategyType: 'volume', - parameters, - status: 'running', - startPrice, - }); - await this.strategyInstanceRepository.save(strategyInstance); - } else { + let tradesExecuted = 0; + let makerIsEx1 = true; + + const rebalanceIOC = async (ex: ccxt.Exchange, side: 'buy' | 'sell', px: number, amt: number) => { + const book = await ex.fetchOrderBook(symbol); + const ref = side === 'buy' ? (book.asks[0]?.[0] ?? px) : (book.bids[0]?.[0] ?? px); + const price = side === 'buy' ? Math.max(ref, px) * 1.002 : Math.min(ref, px) * 0.998; + const p = Math.max(price, minPrice || 1e-12); + const ap = priceToPrec(p); + const aa = amtToPrec(Math.max(amt, minAmt || 0)); + if (aa <= 0) return; + try { + await ex.createOrder(symbol, 'limit', side, aa, ap, { timeInForce: 'IOC' }); + } catch (e) { + this.logger.warn(`[${strategyKey}] Rebalance failed on ${ex.id}: ${e.message}`); + } + }; + + const loop = async () => { + if (tradesExecuted >= numTrades) { + this.logger.log(`Volume strategy [${strategyKey}] completed after ${numTrades} trades.`); + const inst = this.strategyInstances.get(strategyKey); + if (inst?.intervalId) clearInterval(inst.intervalId); + this.strategyInstances.delete(strategyKey); await this.strategyInstanceRepository.update( { strategyKey }, - { status: 'running', updatedAt: new Date() }, + { status: 'stopped', updatedAt: new Date() }, ); + return; } - const exchangeAccount1 = this.exchangeInitService.getExchange( - exchangeName, - 'default', - ); - const exchangeAccount2 = this.exchangeInitService.getExchange( - exchangeName, - 'account2', - ); - - let tradesExecuted = 0; - let useAccount1AsMaker = true; - - /* helper → fetch free balances for base / quote */ - const getFree = async ( - exch: ccxt.Exchange, - base: string, - quote: string, - ) => { - const bal = await exch.fetchBalance(); - return { - base: bal.free[base] ?? 0, - quote: bal.free[quote] ?? 0, - }; - }; - - /* helper → one-shot rebalance so the next trade can proceed */ - const rebalance = async ( - exch: ccxt.Exchange, - needSide: 'buy' | 'sell', - amountNeeded: number, - price: number, - ) => { - if (needSide === 'buy') { - /* need more base, so buy base with quote */ - if (amountNeeded > 0) - await exch.createOrder(symbol, 'market', 'buy', amountNeeded); - } else { - /* need more quote, so sell base for quote */ - const baseToSell = amountNeeded / price; - if (baseToSell > 0) - await exch.createOrder(symbol, 'market', 'sell', baseToSell); - } - }; - - /* ── capture initial portfolio value ── */ - const [baseAsset, quoteAsset] = symbol.split('/'); - const initBal1 = await getFree(exchangeAccount1, baseAsset, quoteAsset); - const initBal2 = await getFree(exchangeAccount2, baseAsset, quoteAsset); - const initialTotalQuoteValue = - (initBal1.base + initBal2.base) * startPrice + - (initBal1.quote + initBal2.quote); - - /* ── trading loop ── */ - const executeTrade = async () => { - if (tradesExecuted >= numTrades) { - this.logger.log( - `Volume strategy [${strategyKey}] completed after ${numTrades} trades.`, + try { + await this.cancelAllOrders(ex1, symbol, strategyKey); + await this.cancelAllOrders(ex2, symbol, strategyKey); + + const makerEx = makerIsEx1 ? ex1 : ex2; + const takerEx = makerIsEx1 ? ex2 : ex1; + const makerSide: 'buy' | 'sell' = postOnlySide; + const takerSide: 'buy' | 'sell' = makerSide === 'buy' ? 'sell' : 'buy'; + + const bookMaker = await makerEx.fetchOrderBook(symbol); + const bid = bookMaker.bids[0]?.[0]; + const ask = bookMaker.asks[0]?.[0]; + if (!bid || !ask) throw new Error('Empty orderbook'); + const mid = (bid + ask) / 2; + + const makerPrice = priceToPrec(Math.max(mid, minPrice || 1e-12)); + const takerPrice = makerPrice; + + const balMaker = await makerEx.fetchBalance(); + const balTaker = await takerEx.fetchBalance(); + const [base, quote] = symbol.split('/'); + + const makerBase = Number(balMaker.free[base] ?? 0); + const makerQuote = Number(balMaker.free[quote] ?? 0); + const takerBase = Number(balTaker.free[base] ?? 0); + const takerQuote = Number(balTaker.free[quote] ?? 0); + + const maxByMaker = + makerSide === 'buy' ? (makerQuote > 0 ? makerQuote / makerPrice : 0) : makerBase; + const maxByTaker = + takerSide === 'buy' ? (takerQuote > 0 ? takerQuote / takerPrice : 0) : takerBase; + + let rawAmt = Math.min(baseTradeAmount, maxByMaker, maxByTaker); + rawAmt = Math.max(0, rawAmt); + + const amount = amtToPrec(rawAmt); + if (!amount || amount <= 0 || amount < (minAmt || 0)) { + this.logger.warn( + `[${strategyKey}] Insufficient balances for trade. maker=${makerEx.id} ${base}=${makerBase.toFixed( + 8, + )} ${quote}=${makerQuote.toFixed(8)} taker=${takerEx.id} ${base}=${takerBase.toFixed( + 8, + )} ${quote}=${takerQuote.toFixed(8)}`, ); - this.strategyInstances.delete(strategyKey); return; } - try { - /* cancel leftovers */ - await this.cancelAllOrders(exchangeAccount1, symbol, strategyKey); - await this.cancelAllOrders(exchangeAccount2, symbol, strategyKey); - - const makerExchange = useAccount1AsMaker - ? exchangeAccount1 - : exchangeAccount2; - const takerExchange = useAccount1AsMaker - ? exchangeAccount2 - : exchangeAccount1; - - const makerSide: 'buy' | 'sell' = postOnlySide; - const takerSide: 'buy' | 'sell' = - postOnlySide === 'buy' ? 'sell' : 'buy'; - - const randomFactor = 1 + (Math.random() * 0.1 - 0.05); - const amount = baseTradeAmount * randomFactor; - - const makerBook = await makerExchange.fetchOrderBook(symbol); - const bestBid = makerBook.bids[0][0]; - const bestAsk = makerBook.asks[0][0]; - const midPrice = (bestBid + bestAsk) / 2; - - /* balances + PnL */ - const makerBalances = await getFree( - makerExchange, - baseAsset, - quoteAsset, - ); - const takerBalances = await getFree( - takerExchange, - baseAsset, - quoteAsset, - ); - - const currentTotalQuoteValue = - (makerBalances.base + takerBalances.base) * midPrice + - (makerBalances.quote + takerBalances.quote); + if (makerSide === 'buy' && makerQuote < amount * makerPrice) { + await rebalanceIOC(makerEx, 'buy', makerPrice, amount); + } else if (makerSide === 'sell' && makerBase < amount) { + await rebalanceIOC(makerEx, 'sell', makerPrice, amount); + } - const pnlSinceStart = currentTotalQuoteValue - initialTotalQuoteValue; + if (takerSide === 'buy' && takerQuote < amount * takerPrice) { + await rebalanceIOC(takerEx, 'buy', takerPrice, amount); + } else if (takerSide === 'sell' && takerBase < amount) { + await rebalanceIOC(takerEx, 'sell', takerPrice, amount); + } - this.logger.log( - `[${strategyKey}] Balances | ${ - makerExchange.id - }: ${baseAsset}=${makerBalances.base.toFixed( - 4, - )}, ${quoteAsset}=${makerBalances.quote.toFixed(2)} | ${ - takerExchange.id - }: ${baseAsset}=${takerBalances.base.toFixed( - 4, - )}, ${quoteAsset}=${takerBalances.quote.toFixed( - 2, - )} | PnL: ${pnlSinceStart.toFixed(2)} ${quoteAsset}`, - ); + const makerOrder = await makerEx.createOrder( + symbol, + 'limit', + makerSide, + amount, + makerPrice, + { postOnly: true }, + ); + const takerOrder = await takerEx.createOrder( + symbol, + 'limit', + takerSide, + amount, + takerPrice, + ); - /* maker side sufficient? */ - if ( - makerSide === 'buy' && - makerBalances.quote < amount * midPrice * 1.01 - ) { - const deficitBase = - (amount * midPrice - makerBalances.quote) / midPrice; - await rebalance(makerExchange, 'buy', deficitBase, midPrice); - } else if ( - makerSide === 'sell' && - makerBalances.base < amount * 1.01 - ) { - const deficitQuote = amount - makerBalances.base; - await rebalance(makerExchange, 'sell', deficitQuote, midPrice); - } - - /* taker side sufficient? */ - if ( - takerSide === 'buy' && - takerBalances.quote < amount * midPrice * 1.01 - ) { - const deficitBase = - (amount * midPrice - takerBalances.quote) / midPrice; - await rebalance(takerExchange, 'buy', deficitBase, midPrice); - } else if ( - takerSide === 'sell' && - takerBalances.base < amount * 1.01 - ) { - const deficitQuote = amount - takerBalances.base; - await rebalance(takerExchange, 'sell', deficitQuote, midPrice); - } - - /* choose random maker price inside spread */ - const makerPrice = bestBid + Math.random() * (bestAsk - bestBid); - const takerPrice = makerPrice; - - const makerOrder = await makerExchange.createOrder( - symbol, - 'limit', - makerSide, - amount, - makerPrice, - { postOnly: true }, - ); + this.logger.log( + `[${strategyKey}] Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} | Taker ${takerSide.toUpperCase()} ${amount} @ ${takerPrice} on ${takerEx.id}`, + ); - const takerOrder = await takerExchange.createOrder( - symbol, - 'limit', - takerSide, - amount, - takerPrice, - ); + const makerInfo = await makerEx.fetchOrder(makerOrder.id, symbol); + const takerInfo = await takerEx.fetchOrder(takerOrder.id, symbol); - /* log fills */ - const makerResult = await makerExchange.fetchOrder( - makerOrder.id, - symbol, - ); - const takerResult = await takerExchange.fetchOrder( - takerOrder.id, - symbol, + if (makerInfo.status === 'closed' || makerInfo.status === 'filled') { + this.logger.log( + `[${strategyKey}] Maker order filled on ${makerEx.id} id=${makerOrder.id} filled=${makerInfo.filled ?? 0}`, ); - - if ( - makerResult.status === 'closed' || - makerResult.status === 'filled' - ) { - this.logger.log( - `Maker ${makerSide.toUpperCase()} on ${ - makerExchange.id - } filled at ${makerPrice.toFixed(6)}`, - ); - } - - if ( - takerResult.status === 'closed' || - takerResult.status === 'filled' - ) { - this.logger.log( - `Taker ${takerSide.toUpperCase()} on ${ - takerExchange.id - } filled at ${takerPrice.toFixed(6)}`, - ); - } - - tradesExecuted++; - useAccount1AsMaker = !useAccount1AsMaker; - - const minInterval = baseIntervalTime; - const maxInterval = baseIntervalTime * 1.5; - const delaySeconds = Math.floor( - minInterval + Math.random() * (maxInterval - minInterval), + } else { + this.logger.log( + `[${strategyKey}] Maker order not filled on ${makerEx.id} id=${makerOrder.id} status=${makerInfo.status} filled=${makerInfo.filled ?? 0}`, ); + } + if (takerInfo.status === 'closed' || takerInfo.status === 'filled') { this.logger.log( - `Trade #${tradesExecuted} done. Next trade in ~${delaySeconds}s.`, + `[${strategyKey}] Taker order filled on ${takerEx.id} id=${takerOrder.id} filled=${takerInfo.filled ?? 0}`, ); - setTimeout(executeTrade, delaySeconds * 1000); - } catch (error) { - this.logger.error(`Error in trade cycle: ${error.message}`); - const retryDelay = Math.floor( - baseIntervalTime + Math.random() * (baseIntervalTime * 0.5), + } else { + this.logger.log( + `[${strategyKey}] Taker order not filled on ${takerEx.id} id=${takerOrder.id} status=${takerInfo.status} filled=${takerInfo.filled ?? 0}`, ); - this.logger.log(`Retrying volume trade in ${retryDelay}s.`); - setTimeout(executeTrade, retryDelay * 1000); } - }; - this.strategyInstances.set(strategyKey, { - isRunning: true, - intervalId: null, - }); - this.logger.log(`Volume strategy [${strategyKey}] started.`); - executeTrade(); - } catch (error) { - this.logger.error( - `Failed to execute volume strategy [${strategyKey}]: ${error.message}`, - ); - } + tradesExecuted++; + makerIsEx1 = !makerIsEx1; + } catch (e) { + this.logger.error(`[${strategyKey}] Error in trade cycle: ${e.message}`); + } + }; + + const intervalId = setInterval(loop, Math.max(1, baseIntervalTime) * 1000); + this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); + this.logger.log(`Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}.`); + } catch (error) { + this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${error.message}`); } +} + /** * Cancel leftover orders for a given exchange, symbol, and strategyKey. @@ -709,24 +629,30 @@ export class StrategyService { order = await exchange.fetchOrder(orderId, symbol); } } - stopVolumeStrategy(userId: string, clientId: string) { - const strategyKey = createStrategyKey({ - type: 'volume', - user_id: userId, - client_id: clientId, - }); - const strategyInstance = this.strategyInstances.get(strategyKey); - - if (strategyInstance) { - clearInterval(strategyInstance.intervalId); - this.cancelAllStrategyOrders(strategyKey); - this.strategyInstances.delete(strategyKey); - this.logger.log(`Volume strategy ${strategyKey} stopped.`); - } else { - this.logger.warn(`No active strategy found for ${strategyKey}.`); - } +stopVolumeStrategy(userId: string, clientId: string) { + const strategyKey = createStrategyKey({ + type: 'volume', + user_id: userId, + client_id: clientId, + }); + const inst = this.strategyInstances.get(strategyKey); + + if (inst?.intervalId) { + clearInterval(inst.intervalId); } + this.strategyInstances.delete(strategyKey); + + this.strategyInstanceRepository + .update({ strategyKey }, { status: 'stopped', updatedAt: new Date() }) + .then(() => this.logger.log(`Volume strategy ${strategyKey} stopped.`)) + .catch((e) => this.logger.error(`Failed to mark ${strategyKey} stopped: ${e.message}`)); + + this.cancelAllStrategyOrders(strategyKey).catch((e) => + this.logger.error(`Failed canceling orders for ${strategyKey}: ${e.message}`), + ); +} + private async watchSymbols( exchangeA: ccxt.Exchange, exchangeB: ccxt.Exchange, @@ -838,7 +764,7 @@ export class StrategyService { return ticker.last; })(), }); - await this.strategyInstanceRepository.save(strategyInstance); + // await this.strategyInstanceRepository.save(strategyInstance); } } @@ -1043,6 +969,7 @@ export class StrategyService { } } + private async adjustOrderParameters( exchange: ccxt.Exchange, symbol: string, diff --git a/server/yarn.lock b/server/yarn.lock index f1e6605b..d7e71c93 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -605,6 +605,13 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.25.0": + version: 7.28.4 + resolution: "@babel/runtime@npm:7.28.4" + checksum: 10c0/792ce7af9750fb9b93879cc9d1db175701c4689da890e6ced242ea0207c9da411ccf16dc04e689cc01158b28d7898c40d75598f4559109f761c12ce01e959bf7 + languageName: node + linkType: hard + "@babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0": version: 7.24.0 resolution: "@babel/template@npm:7.24.0" @@ -712,6 +719,46 @@ __metadata: languageName: node linkType: hard +"@coral-xyz/anchor-errors@npm:^0.31.1": + version: 0.31.1 + resolution: "@coral-xyz/anchor-errors@npm:0.31.1" + checksum: 10c0/d359d6244a89bcfb606e6d31d545c3be8e32dccd47b78dac6ec0091a51b2eb6c78aad9601f39db2659d8e66db8fffc36477247d58d570bc9d866e7ec3e40b5b2 + languageName: node + linkType: hard + +"@coral-xyz/anchor@npm:^0.32.1": + version: 0.32.1 + resolution: "@coral-xyz/anchor@npm:0.32.1" + dependencies: + "@coral-xyz/anchor-errors": "npm:^0.31.1" + "@coral-xyz/borsh": "npm:^0.31.1" + "@noble/hashes": "npm:^1.3.1" + "@solana/web3.js": "npm:^1.69.0" + bn.js: "npm:^5.1.2" + bs58: "npm:^4.0.1" + buffer-layout: "npm:^1.2.2" + camelcase: "npm:^6.3.0" + cross-fetch: "npm:^3.1.5" + eventemitter3: "npm:^4.0.7" + pako: "npm:^2.0.3" + superstruct: "npm:^0.15.4" + toml: "npm:^3.0.0" + checksum: 10c0/669b6f54efb0a5a96dad9e055d30b3b803f691b1b058379efefb87c11f97a9d369d513b2f200082c0b55b4cb31540dc5404e244c6f23f0a14b6d2ad2e18f08b7 + languageName: node + linkType: hard + +"@coral-xyz/borsh@npm:^0.31.1": + version: 0.31.1 + resolution: "@coral-xyz/borsh@npm:0.31.1" + dependencies: + bn.js: "npm:^5.1.2" + buffer-layout: "npm:^1.2.0" + peerDependencies: + "@solana/web3.js": ^1.69.0 + checksum: 10c0/3d6d40a1476df5eb0635d8687a640de89fd7e7ffd135f733907f13ff2569a2a07f65f64768d632fb45ed55006d9c9ee94e40fd775813a9cf1211fefa567f98dd + languageName: node + linkType: hard + "@cspotcode/source-map-support@npm:^0.8.0": version: 0.8.1 resolution: "@cspotcode/source-map-support@npm:0.8.1" @@ -1644,6 +1691,13 @@ __metadata: languageName: node linkType: hard +"@jup-ag/api@npm:^6.0.44": + version: 6.0.44 + resolution: "@jup-ag/api@npm:6.0.44" + checksum: 10c0/f6c3e9d67d33f0dce929a39b7423342fa8e1cf067f121cb8d09c1497dcf7a842bb547b990de5947829a9aeb3f63971cc1747a47623717c67a701c485220aa0b8 + languageName: node + linkType: hard + "@ljharb/through@npm:^2.3.11": version: 2.3.13 resolution: "@ljharb/through@npm:2.3.13" @@ -2138,6 +2192,15 @@ __metadata: languageName: node linkType: hard +"@noble/curves@npm:^1.4.2": + version: 1.9.7 + resolution: "@noble/curves@npm:1.9.7" + dependencies: + "@noble/hashes": "npm:1.8.0" + checksum: 10c0/150014751ebe8ca06a8654ca2525108452ea9ee0be23430332769f06808cddabfe84f248b6dbf836916bc869c27c2092957eec62c7506d68a1ed0a624017c2a3 + languageName: node + linkType: hard + "@noble/hashes@npm:1.4.0, @noble/hashes@npm:^1.3.2": version: 1.4.0 resolution: "@noble/hashes@npm:1.4.0" @@ -2145,6 +2208,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:1.8.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:^1.4.0": + version: 1.8.0 + resolution: "@noble/hashes@npm:1.8.0" + checksum: 10c0/06a0b52c81a6fa7f04d67762e08b2c476a00285858150caeaaff4037356dd5e119f45b2a530f638b77a5eeca013168ec1b655db41bae3236cb2e9d511484fc77 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2253,6 +2323,218 @@ __metadata: languageName: node linkType: hard +"@solana/buffer-layout-utils@npm:^0.2.0": + version: 0.2.0 + resolution: "@solana/buffer-layout-utils@npm:0.2.0" + dependencies: + "@solana/buffer-layout": "npm:^4.0.0" + "@solana/web3.js": "npm:^1.32.0" + bigint-buffer: "npm:^1.1.5" + bignumber.js: "npm:^9.0.1" + checksum: 10c0/ed093999d7c0f93527a9b261a9a2a59e10b5ef78fc416fa896b86036fb4dadf923d17db68bffdc3e91eadecdb8b8cddd8ee37f12429980fcaba321e7b8a35d27 + languageName: node + linkType: hard + +"@solana/buffer-layout@npm:^4.0.0, @solana/buffer-layout@npm:^4.0.1": + version: 4.0.1 + resolution: "@solana/buffer-layout@npm:4.0.1" + dependencies: + buffer: "npm:~6.0.3" + checksum: 10c0/6535f3908cf6dfc405b665795f0c2eaa0482a8c6b1811403945cf7b450e7eb7b40acce3e8af046f2fcc3eea1a15e61d48c418315d813bee4b720d56b00053305 + languageName: node + linkType: hard + +"@solana/codecs-core@npm:2.0.0-rc.1": + version: 2.0.0-rc.1 + resolution: "@solana/codecs-core@npm:2.0.0-rc.1" + dependencies: + "@solana/errors": "npm:2.0.0-rc.1" + peerDependencies: + typescript: ">=5" + checksum: 10c0/3b1fd09727bf850d191292b14e1afb64cda4e57f898c06483f40d0402c4f07f1d4df555f028f664701e647834c74924818857443666d039f4e44c8c01f31f427 + languageName: node + linkType: hard + +"@solana/codecs-core@npm:2.3.0": + version: 2.3.0 + resolution: "@solana/codecs-core@npm:2.3.0" + dependencies: + "@solana/errors": "npm:2.3.0" + peerDependencies: + typescript: ">=5.3.3" + checksum: 10c0/efef080b94fe572bcfeac9f1c0b222700203bd2b45c9590e77445b35335d0ed2582d1cc4e533003d2090c385c06eb93dfa05388f9766182aa60ce85eacfd8042 + languageName: node + linkType: hard + +"@solana/codecs-data-structures@npm:2.0.0-rc.1": + version: 2.0.0-rc.1 + resolution: "@solana/codecs-data-structures@npm:2.0.0-rc.1" + dependencies: + "@solana/codecs-core": "npm:2.0.0-rc.1" + "@solana/codecs-numbers": "npm:2.0.0-rc.1" + "@solana/errors": "npm:2.0.0-rc.1" + peerDependencies: + typescript: ">=5" + checksum: 10c0/e22dd6369917dbfe5e540045b94007bfe27c240651ff6063558b0c5c82a06e7b1fa2a95aaba51e6210702d1c462d4dde198c3c00c4b3211360606ca36131965e + languageName: node + linkType: hard + +"@solana/codecs-numbers@npm:2.0.0-rc.1": + version: 2.0.0-rc.1 + resolution: "@solana/codecs-numbers@npm:2.0.0-rc.1" + dependencies: + "@solana/codecs-core": "npm:2.0.0-rc.1" + "@solana/errors": "npm:2.0.0-rc.1" + peerDependencies: + typescript: ">=5" + checksum: 10c0/baf888bbd9c9ed2420207329c735def60a2b3d94d4a0dd1a92703f4de165a96dfd5b66e4fe954d6a7fae12b6b95c41da500499f100b6d5cfad6420d4bfe71b50 + languageName: node + linkType: hard + +"@solana/codecs-numbers@npm:^2.1.0": + version: 2.3.0 + resolution: "@solana/codecs-numbers@npm:2.3.0" + dependencies: + "@solana/codecs-core": "npm:2.3.0" + "@solana/errors": "npm:2.3.0" + peerDependencies: + typescript: ">=5.3.3" + checksum: 10c0/0780d60771e451cfe22ea614315fed2f37507aa62f83cddb900186f88d4d4532eea298d74796d1dbc8c34321a570b5d9ada25e8f4a5aeadd57aa4e688b4465f5 + languageName: node + linkType: hard + +"@solana/codecs-strings@npm:2.0.0-rc.1": + version: 2.0.0-rc.1 + resolution: "@solana/codecs-strings@npm:2.0.0-rc.1" + dependencies: + "@solana/codecs-core": "npm:2.0.0-rc.1" + "@solana/codecs-numbers": "npm:2.0.0-rc.1" + "@solana/errors": "npm:2.0.0-rc.1" + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: ">=5" + checksum: 10c0/7f3483407de7e324075a85f2f8c91103021d6b8f38cfd4cf78603cbd7b00ea8b828a0cb9b61fb2b0db6d3e733fdf358006de23278cf3b103af1f1de4f3f66233 + languageName: node + linkType: hard + +"@solana/codecs@npm:2.0.0-rc.1": + version: 2.0.0-rc.1 + resolution: "@solana/codecs@npm:2.0.0-rc.1" + dependencies: + "@solana/codecs-core": "npm:2.0.0-rc.1" + "@solana/codecs-data-structures": "npm:2.0.0-rc.1" + "@solana/codecs-numbers": "npm:2.0.0-rc.1" + "@solana/codecs-strings": "npm:2.0.0-rc.1" + "@solana/options": "npm:2.0.0-rc.1" + peerDependencies: + typescript: ">=5" + checksum: 10c0/5f4a30b1fed60c9442ab73cbe413fe528e5b316f602eb745b0de84a9622ceb8af9e7a7a9f8e2f5d730280858f9e4e0ab861729311c0aa55cc253427707815ef2 + languageName: node + linkType: hard + +"@solana/errors@npm:2.0.0-rc.1": + version: 2.0.0-rc.1 + resolution: "@solana/errors@npm:2.0.0-rc.1" + dependencies: + chalk: "npm:^5.3.0" + commander: "npm:^12.1.0" + peerDependencies: + typescript: ">=5" + bin: + errors: bin/cli.mjs + checksum: 10c0/26b9edb43b4ba86b36aefb020a6e47706554ce57a95a357a55879c570ffd000417b1d9567b94120d114dfd38051e8362c18ee082b58cc34690c4c00f1040423c + languageName: node + linkType: hard + +"@solana/errors@npm:2.3.0": + version: 2.3.0 + resolution: "@solana/errors@npm:2.3.0" + dependencies: + chalk: "npm:^5.4.1" + commander: "npm:^14.0.0" + peerDependencies: + typescript: ">=5.3.3" + bin: + errors: bin/cli.mjs + checksum: 10c0/55bef8828b4a6bb5222d3dbfe27162684906ba90753126b9cfd1e8e39c6c29209c0f4f331cfb1d3d1cf43fd456022af92337b4234a145d8de292588197c12c71 + languageName: node + linkType: hard + +"@solana/options@npm:2.0.0-rc.1": + version: 2.0.0-rc.1 + resolution: "@solana/options@npm:2.0.0-rc.1" + dependencies: + "@solana/codecs-core": "npm:2.0.0-rc.1" + "@solana/codecs-data-structures": "npm:2.0.0-rc.1" + "@solana/codecs-numbers": "npm:2.0.0-rc.1" + "@solana/codecs-strings": "npm:2.0.0-rc.1" + "@solana/errors": "npm:2.0.0-rc.1" + peerDependencies: + typescript: ">=5" + checksum: 10c0/967dc01c12b0433412a74cb498262f7d0bdf4c3b002936d8f5761bcb189929c35fe0b32c2f793796a975366e2c1245dd34c1818e4f44f483932fdfa3fde4f3e9 + languageName: node + linkType: hard + +"@solana/spl-token-group@npm:^0.0.7": + version: 0.0.7 + resolution: "@solana/spl-token-group@npm:0.0.7" + dependencies: + "@solana/codecs": "npm:2.0.0-rc.1" + peerDependencies: + "@solana/web3.js": ^1.95.3 + checksum: 10c0/e1ebeb30c4dd3c179ee9d4bf02635c0ca3daea18526a25c824eb4db8882db768563f20813ac600a41fe153892ce66c0c7538e2639f530945940477edddfa731f + languageName: node + linkType: hard + +"@solana/spl-token-metadata@npm:^0.1.6": + version: 0.1.6 + resolution: "@solana/spl-token-metadata@npm:0.1.6" + dependencies: + "@solana/codecs": "npm:2.0.0-rc.1" + peerDependencies: + "@solana/web3.js": ^1.95.3 + checksum: 10c0/a2ea535ac28cf9b8f499c2e2aced7ce9134b0728a0c1d4c8f2dfce8fe01ae66d94ccaca8f1f677c9613d3dbc913845c29df785efeafc25d9398e830fba4a626f + languageName: node + linkType: hard + +"@solana/spl-token@npm:^0.4.14": + version: 0.4.14 + resolution: "@solana/spl-token@npm:0.4.14" + dependencies: + "@solana/buffer-layout": "npm:^4.0.0" + "@solana/buffer-layout-utils": "npm:^0.2.0" + "@solana/spl-token-group": "npm:^0.0.7" + "@solana/spl-token-metadata": "npm:^0.1.6" + buffer: "npm:^6.0.3" + peerDependencies: + "@solana/web3.js": ^1.95.5 + checksum: 10c0/aaa0b03859c45a8e917e14a8d0703de13ca16cfab31b72685ef148dcd2dc9a6fd37ac8842b1ca9609aea8407d51bf98e69bc7a4f9e2dc86f440b5bd8c0c70bfe + languageName: node + linkType: hard + +"@solana/web3.js@npm:^1.32.0, @solana/web3.js@npm:^1.69.0, @solana/web3.js@npm:^1.98.4": + version: 1.98.4 + resolution: "@solana/web3.js@npm:1.98.4" + dependencies: + "@babel/runtime": "npm:^7.25.0" + "@noble/curves": "npm:^1.4.2" + "@noble/hashes": "npm:^1.4.0" + "@solana/buffer-layout": "npm:^4.0.1" + "@solana/codecs-numbers": "npm:^2.1.0" + agentkeepalive: "npm:^4.5.0" + bn.js: "npm:^5.2.1" + borsh: "npm:^0.7.0" + bs58: "npm:^4.0.1" + buffer: "npm:6.0.3" + fast-stable-stringify: "npm:^1.0.0" + jayson: "npm:^4.1.1" + node-fetch: "npm:^2.7.0" + rpc-websockets: "npm:^9.0.2" + superstruct: "npm:^2.0.2" + checksum: 10c0/73bf7b6b5b65c7f264587182bbfd65327775b4f3e4831750de6356f58858e57d49213098eec671650940bb7a9bbaa1f352e0710c4075f126d903d72ddddcbdbc + languageName: node + linkType: hard + "@sqltools/formatter@npm:^1.2.5": version: 1.2.5 resolution: "@sqltools/formatter@npm:1.2.5" @@ -2260,6 +2542,15 @@ __metadata: languageName: node linkType: hard +"@swc/helpers@npm:^0.5.11": + version: 0.5.17 + resolution: "@swc/helpers@npm:0.5.17" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10c0/fe1f33ebb968558c5a0c595e54f2e479e4609bff844f9ca9a2d1ffd8dd8504c26f862a11b031f48f75c95b0381c2966c3dd156e25942f90089badd24341e7dbb + languageName: node + linkType: hard + "@tsconfig/node10@npm:^1.0.7": version: 1.0.11 resolution: "@tsconfig/node10@npm:1.0.11" @@ -2357,7 +2648,7 @@ __metadata: languageName: node linkType: hard -"@types/connect@npm:*": +"@types/connect@npm:*, @types/connect@npm:^3.4.33": version: 3.4.38 resolution: "@types/connect@npm:3.4.38" dependencies: @@ -2564,6 +2855,13 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^12.12.54": + version: 12.20.55 + resolution: "@types/node@npm:12.20.55" + checksum: 10c0/3b190bb0410047d489c49bbaab592d2e6630de6a50f00ba3d7d513d59401d279972a8f5a598b5bb8ddc1702f8a2f4ec57a65d93852f9c329639738e7053637d1 + languageName: node + linkType: hard + "@types/passport-jwt@npm:^3.0.10": version: 3.0.13 resolution: "@types/passport-jwt@npm:3.0.13" @@ -2681,6 +2979,13 @@ __metadata: languageName: node linkType: hard +"@types/uuid@npm:^8.3.4": + version: 8.3.4 + resolution: "@types/uuid@npm:8.3.4" + checksum: 10c0/b9ac98f82fcf35962317ef7dc44d9ac9e0f6fdb68121d384c88fe12ea318487d5585d3480fa003cf28be86a3bbe213ca688ba786601dce4a97724765eb5b1cf2 + languageName: node + linkType: hard + "@types/validator@npm:^13.11.8": version: 13.12.2 resolution: "@types/validator@npm:13.12.2" @@ -2688,6 +2993,24 @@ __metadata: languageName: node linkType: hard +"@types/ws@npm:^7.4.4": + version: 7.4.7 + resolution: "@types/ws@npm:7.4.7" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/f1f53febd8623a85cef2652949acd19d83967e350ea15a851593e3033501750a1e04f418552e487db90a3d48611a1cff3ffcf139b94190c10f2fd1e1dc95ff10 + languageName: node + linkType: hard + +"@types/ws@npm:^8.2.2": + version: 8.18.1 + resolution: "@types/ws@npm:8.18.1" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/61aff1129143fcc4312f083bc9e9e168aa3026b7dd6e70796276dcfb2c8211c4292603f9c4864fae702f2ed86e4abd4d38aa421831c2fd7f856c931a481afbab + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.3 resolution: "@types/yargs-parser@npm:21.0.3" @@ -3229,6 +3552,15 @@ __metadata: languageName: node linkType: hard +"agentkeepalive@npm:^4.5.0": + version: 4.6.0 + resolution: "agentkeepalive@npm:4.6.0" + dependencies: + humanize-ms: "npm:^1.2.1" + checksum: 10c0/235c182432f75046835b05f239708107138a40103deee23b6a08caee5136873709155753b394ec212e49e60e94a378189562cb01347765515cff61b692c69187 + languageName: node + linkType: hard + "ajv-formats@npm:2.1.1": version: 2.1.1 resolution: "ajv-formats@npm:2.1.1" @@ -3584,6 +3916,15 @@ __metadata: languageName: node linkType: hard +"base-x@npm:^3.0.2": + version: 3.0.11 + resolution: "base-x@npm:3.0.11" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/4c5b8cd9cef285973b0460934be4fc890eedfd22a8aca527fac3527f041c5d1c912f7b9a6816f19e43e69dc7c29a5deabfa326bd3d6a57ee46af0ad46e3991d5 + languageName: node + linkType: hard + "base-x@npm:^4.0.0": version: 4.0.0 resolution: "base-x@npm:4.0.0" @@ -3591,6 +3932,13 @@ __metadata: languageName: node linkType: hard +"base-x@npm:^5.0.0": + version: 5.0.1 + resolution: "base-x@npm:5.0.1" + checksum: 10c0/4ab6b02262b4fd499b147656f63ce7328bd5f895450401ce58a2f9e87828aea507cf0c320a6d8725389f86e8a48397562661c0bca28ef3276a22821b30f7a713 + languageName: node + linkType: hard + "base64-js@npm:^1.3.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" @@ -3631,6 +3979,23 @@ __metadata: languageName: node linkType: hard +"bigint-buffer@npm:^1.1.5": + version: 1.1.5 + resolution: "bigint-buffer@npm:1.1.5" + dependencies: + bindings: "npm:^1.3.0" + node-gyp: "npm:latest" + checksum: 10c0/aa41e53d38242a2f05f85b08eaf592635f92e5328822784cda518232b1644efdbf29ab3664951b174cc645848add4605488e25c9439bcc749660c885b4ff6118 + languageName: node + linkType: hard + +"bignumber.js@npm:^9.0.1": + version: 9.3.1 + resolution: "bignumber.js@npm:9.3.1" + checksum: 10c0/61342ba5fe1c10887f0ecf5be02ff6709271481aff48631f86b4d37d55a99b87ce441cfd54df3d16d10ee07ceab7e272fc0be430c657ffafbbbf7b7d631efb75 + languageName: node + linkType: hard + "bignumber.js@npm:^9.1.2": version: 9.1.2 resolution: "bignumber.js@npm:9.1.2" @@ -3645,6 +4010,15 @@ __metadata: languageName: node linkType: hard +"bindings@npm:^1.3.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: "npm:1.0.0" + checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba + languageName: node + linkType: hard + "bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -3663,6 +4037,13 @@ __metadata: languageName: node linkType: hard +"bn.js@npm:^5.1.2, bn.js@npm:^5.2.0": + version: 5.2.2 + resolution: "bn.js@npm:5.2.2" + checksum: 10c0/cb97827d476aab1a0194df33cd84624952480d92da46e6b4a19c32964aa01553a4a613502396712704da2ec8f831cf98d02e74ca03398404bd78a037ba93f2ab + languageName: node + linkType: hard + "bn.js@npm:^5.2.1": version: 5.2.1 resolution: "bn.js@npm:5.2.1" @@ -3690,6 +4071,17 @@ __metadata: languageName: node linkType: hard +"borsh@npm:^0.7.0": + version: 0.7.0 + resolution: "borsh@npm:0.7.0" + dependencies: + bn.js: "npm:^5.2.0" + bs58: "npm:^4.0.0" + text-encoding-utf-8: "npm:^1.0.2" + checksum: 10c0/513b3e51823d2bf5be77cec27742419d2b0427504825dd7ceb00dedb820f246a4762f04b83d5e3aa39c8e075b3cbaeb7ca3c90bd1cbeecccb4a510575be8c581 + languageName: node + linkType: hard + "boxen@npm:5.1.2": version: 5.1.2 resolution: "boxen@npm:5.1.2" @@ -3788,6 +4180,15 @@ __metadata: languageName: node linkType: hard +"bs58@npm:^4.0.0, bs58@npm:^4.0.1": + version: 4.0.1 + resolution: "bs58@npm:4.0.1" + dependencies: + base-x: "npm:^3.0.2" + checksum: 10c0/613a1b1441e754279a0e3f44d1faeb8c8e838feef81e550efe174ff021dd2e08a4c9ae5805b52dfdde79f97b5c0918c78dd24a0eb726c4a94365f0984a0ffc65 + languageName: node + linkType: hard + "bs58@npm:^5.0.0": version: 5.0.0 resolution: "bs58@npm:5.0.0" @@ -3797,6 +4198,15 @@ __metadata: languageName: node linkType: hard +"bs58@npm:^6.0.0": + version: 6.0.0 + resolution: "bs58@npm:6.0.0" + dependencies: + base-x: "npm:^5.0.0" + checksum: 10c0/61910839746625ee4f69369f80e2634e2123726caaa1da6b3bcefcf7efcd9bdca86603360fed9664ffdabe0038c51e542c02581c72ca8d44f60329fe1a6bc8f4 + languageName: node + linkType: hard + "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -3820,6 +4230,23 @@ __metadata: languageName: node linkType: hard +"buffer-layout@npm:^1.2.0, buffer-layout@npm:^1.2.2": + version: 1.2.2 + resolution: "buffer-layout@npm:1.2.2" + checksum: 10c0/d90d1f622f592553555dd290d0e6dd0bababb2566655d0728812b2667af5a23d795929c38c25f5065252024fa29d75ea54eeb6f469d69814f4ebf614c6672acf + languageName: node + linkType: hard + +"buffer@npm:6.0.3, buffer@npm:^6.0.3, buffer@npm:~6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + "buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -3830,13 +4257,13 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" +"bufferutil@npm:^4.0.1": + version: 4.0.9 + resolution: "bufferutil@npm:4.0.9" dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.3.0" + checksum: 10c0/f8a93279fc9bdcf32b42eba97edc672b39ca0fe5c55a8596099886cffc76ea9dd78e0f6f51ecee3b5ee06d2d564aa587036b5d4ea39b8b5ac797262a363cdf7d languageName: node linkType: hard @@ -3972,6 +4399,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.4.1": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -4270,7 +4704,21 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.20.0": +"commander@npm:^12.1.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 + languageName: node + linkType: hard + +"commander@npm:^14.0.0": + version: 14.0.1 + resolution: "commander@npm:14.0.1" + checksum: 10c0/64439c0651ddd01c1d0f48c8f08e97c18a0a1fa693879451f1203ad01132af2c2aa85da24cf0d8e098ab9e6dc385a756be670d2999a3c628ec745c3ec124587b + languageName: node + linkType: hard + +"commander@npm:^2.20.0, commander@npm:^2.20.3": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 @@ -4449,6 +4897,15 @@ __metadata: languageName: node linkType: hard +"cross-fetch@npm:^3.1.5": + version: 3.2.0 + resolution: "cross-fetch@npm:3.2.0" + dependencies: + node-fetch: "npm:^2.7.0" + checksum: 10c0/d8596adf0269130098a676f6739a0922f3cc7b71cc89729925411ebe851a87026171c82ea89154c4811c9867c01c44793205a52e618ce2684650218c7fbeeb9f + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -4541,6 +4998,13 @@ __metadata: languageName: node linkType: hard +"delay@npm:^5.0.0": + version: 5.0.0 + resolution: "delay@npm:5.0.0" + checksum: 10c0/01cdc4cd0cd35fb622518a3df848e67e09763a38e7cdada2232b6fda9ddda72eddcf74f0e24211200fbe718434f2335f2a2633875a6c96037fefa6de42896ad7 + languageName: node + linkType: hard + "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -4822,6 +5286,22 @@ __metadata: languageName: node linkType: hard +"es6-promise@npm:^4.0.3": + version: 4.2.8 + resolution: "es6-promise@npm:4.2.8" + checksum: 10c0/2373d9c5e9a93bdd9f9ed32ff5cb6dd3dd785368d1c21e9bbbfd07d16345b3774ae260f2bd24c8f836a6903f432b4151e7816a7fa8891ccb4e1a55a028ec42c3 + languageName: node + linkType: hard + +"es6-promisify@npm:^5.0.0": + version: 5.0.0 + resolution: "es6-promisify@npm:5.0.0" + dependencies: + es6-promise: "npm:^4.0.3" + checksum: 10c0/23284c6a733cbf7842ec98f41eac742c9f288a78753c4fe46652bae826446ced7615b9e8a5c5f121a08812b1cd478ea58630f3e1c3d70835bd5dcd69c7cd75c9 + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.2 resolution: "escalade@npm:3.1.2" @@ -5084,6 +5564,20 @@ __metadata: languageName: node linkType: hard +"eventemitter3@npm:^4.0.7": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b + languageName: node + linkType: hard + +"eventemitter3@npm:^5.0.1": + version: 5.0.1 + resolution: "eventemitter3@npm:5.0.1" + checksum: 10c0/4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814 + languageName: node + linkType: hard + "events@npm:^3.2.0": version: 3.3.0 resolution: "events@npm:3.3.0" @@ -5186,6 +5680,13 @@ __metadata: languageName: node linkType: hard +"eyes@npm:^0.1.8": + version: 0.1.8 + resolution: "eyes@npm:0.1.8" + checksum: 10c0/4c79a9cbf45746d8c9f48cc957e35ad8ea336add1c7b8d5a0e002efc791a7a62b27b2188184ef1a1eea7bc3cd06b161791421e0e6c5fe78309705a162c53eea8 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -5234,6 +5735,13 @@ __metadata: languageName: node linkType: hard +"fast-stable-stringify@npm:^1.0.0": + version: 1.0.0 + resolution: "fast-stable-stringify@npm:1.0.0" + checksum: 10c0/1d773440c7a9615950577665074746c2e92edafceefa789616ecb6166229e0ccc6dae206ca9b9f7da0d274ba5779162aab2d07940a0f6e52a41a4e555392eb3b + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.17.1 resolution: "fastq@npm:1.17.1" @@ -5299,6 +5807,13 @@ __metadata: languageName: node linkType: hard +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 + languageName: node + linkType: hard + "fill-range@npm:^7.0.1": version: 7.0.1 resolution: "fill-range@npm:7.0.1" @@ -5918,6 +6433,15 @@ __metadata: languageName: node linkType: hard +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: "npm:^2.0.0" + checksum: 10c0/f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a + languageName: node + linkType: hard + "iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -6205,6 +6729,15 @@ __metadata: languageName: node linkType: hard +"isomorphic-ws@npm:^4.0.1": + version: 4.0.1 + resolution: "isomorphic-ws@npm:4.0.1" + peerDependencies: + ws: "*" + checksum: 10c0/7cb90dc2f0eb409825558982fb15d7c1d757a88595efbab879592f9d2b63820d6bbfb5571ab8abe36c715946e165a413a99f6aafd9f40ab1f514d73487bc9996 + languageName: node + linkType: hard + "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" @@ -6303,6 +6836,28 @@ __metadata: languageName: node linkType: hard +"jayson@npm:^4.1.1": + version: 4.2.0 + resolution: "jayson@npm:4.2.0" + dependencies: + "@types/connect": "npm:^3.4.33" + "@types/node": "npm:^12.12.54" + "@types/ws": "npm:^7.4.4" + commander: "npm:^2.20.3" + delay: "npm:^5.0.0" + es6-promisify: "npm:^5.0.0" + eyes: "npm:^0.1.8" + isomorphic-ws: "npm:^4.0.1" + json-stringify-safe: "npm:^5.0.1" + stream-json: "npm:^1.9.1" + uuid: "npm:^8.3.2" + ws: "npm:^7.5.10" + bin: + jayson: bin/jayson.js + checksum: 10c0/062f525a0d15232c4361d10e0cd26960e998897e483408de03101e147c7bdf275db525bc1d5cc8aff4b777d1b1389004c8e9a5715304aedcf9930557787df6e3 + languageName: node + linkType: hard + "jest-changed-files@npm:30.0.5": version: 30.0.5 resolution: "jest-changed-files@npm:30.0.5" @@ -6849,6 +7404,13 @@ __metadata: languageName: node linkType: hard +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + "json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -7517,7 +8079,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.1": +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -7633,7 +8195,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7, node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -7654,6 +8216,17 @@ __metadata: languageName: node linkType: hard +"node-gyp-build@npm:^4.3.0": + version: 4.8.4 + resolution: "node-gyp-build@npm:4.8.4" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 10c0/444e189907ece2081fe60e75368784f7782cfddb554b60123743dfb89509df89f1f29c03bbfa16b3a3e0be3f48799a4783f487da6203245fa5bed239ba7407e1 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 11.2.0 resolution: "node-gyp@npm:11.2.0" @@ -7897,7 +8470,7 @@ __metadata: languageName: node linkType: hard -"pako@npm:^2.0.4": +"pako@npm:^2.0.3, pako@npm:^2.0.4": version: 2.1.0 resolution: "pako@npm:2.1.0" checksum: 10c0/8e8646581410654b50eb22a5dfd71159cae98145bd5086c9a7a816ec0370b5f72b4648d08674624b3870a521e6a3daffd6c2f7bc00fdefc7063c9d8232ff5116 @@ -8567,6 +9140,28 @@ __metadata: languageName: node linkType: hard +"rpc-websockets@npm:^9.0.2": + version: 9.2.0 + resolution: "rpc-websockets@npm:9.2.0" + dependencies: + "@swc/helpers": "npm:^0.5.11" + "@types/uuid": "npm:^8.3.4" + "@types/ws": "npm:^8.2.2" + buffer: "npm:^6.0.3" + bufferutil: "npm:^4.0.1" + eventemitter3: "npm:^5.0.1" + utf-8-validate: "npm:^5.0.2" + uuid: "npm:^8.3.2" + ws: "npm:^8.5.0" + dependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/147a7d9e0a67bb98ff962107fc855c2b321faeafd25b16c03c0c6bf49c1d4d18c62ca35cb5b3cf307b8a2ddec9121bc74c6415e47a436bd991907d20781606b9 + languageName: node + linkType: hard + "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -8730,7 +9325,9 @@ __metadata: resolution: "server@workspace:." dependencies: "@babel/core": "npm:^7.28.4" + "@coral-xyz/anchor": "npm:^0.32.1" "@golevelup/ts-jest": "npm:^0.4.0" + "@jup-ag/api": "npm:^6.0.44" "@mixin.dev/mixin-node-sdk": "npm:^7.0.8" "@nestjs/axios": "npm:^3.0.2" "@nestjs/cache-manager": "npm:^2.1.1" @@ -8752,6 +9349,8 @@ __metadata: "@nestjs/throttler": "npm:^5.1.2" "@nestjs/typeorm": "npm:^10.0.1" "@nestjs/websockets": "npm:^10.2.10" + "@solana/spl-token": "npm:^0.4.14" + "@solana/web3.js": "npm:^1.98.4" "@types/babel__core": "npm:^7" "@types/bcrypt": "npm:^5.0.2" "@types/cookie-parser": "npm:^1.4.3" @@ -8769,6 +9368,7 @@ __metadata: babel-jest: "npm:^30.1.2" bcrypt: "npm:^5.1.1" bignumber.js: "npm:^9.1.2" + bs58: "npm:^6.0.0" cache-manager: "npm:^4.0.0" ccxt: "npm:^4.4.92" class-transformer: "npm:^0.5.1" @@ -9079,6 +9679,22 @@ __metadata: languageName: node linkType: hard +"stream-chain@npm:^2.2.5": + version: 2.2.5 + resolution: "stream-chain@npm:2.2.5" + checksum: 10c0/c512f50190d7c92d688fa64e7af540c51b661f9c2b775fc72bca38ea9bca515c64c22c2197b1be463741daacbaaa2dde8a8ea24ebda46f08391224f15249121a + languageName: node + linkType: hard + +"stream-json@npm:^1.9.1": + version: 1.9.1 + resolution: "stream-json@npm:1.9.1" + dependencies: + stream-chain: "npm:^2.2.5" + checksum: 10c0/0521e5cb3fb6b0e2561d715975e891bd81fa77d0239c8d0b1756846392bc3c7cdd7f1ddb0fe7ed77e6fdef58daab9e665d3b39f7d677bd0859e65a2bff59b92c + languageName: node + linkType: hard + "streamsearch@npm:^1.1.0": version: 1.1.0 resolution: "streamsearch@npm:1.1.0" @@ -9200,6 +9816,20 @@ __metadata: languageName: node linkType: hard +"superstruct@npm:^0.15.4": + version: 0.15.5 + resolution: "superstruct@npm:0.15.5" + checksum: 10c0/73ae2043443dcc7868da6e8b4e4895410c79a88e021b514c665161199675ee920d5eadd85bb9dee5a9f515817e62f4b65a67ccb82d29f73259d012afcbcd3ce4 + languageName: node + linkType: hard + +"superstruct@npm:^2.0.2": + version: 2.0.2 + resolution: "superstruct@npm:2.0.2" + checksum: 10c0/c6853db5240b4920f47b3c864dd1e23ede6819ea399ad29a65387d746374f6958c5f1c5b7e5bb152d9db117a74973e5005056d9bb83c24e26f18ec6bfae4a718 + languageName: node + linkType: hard + "supertest@npm:^6.1.3": version: 6.3.4 resolution: "supertest@npm:6.3.4" @@ -9367,6 +9997,13 @@ __metadata: languageName: node linkType: hard +"text-encoding-utf-8@npm:^1.0.2": + version: 1.0.2 + resolution: "text-encoding-utf-8@npm:1.0.2" + checksum: 10c0/87a64b394c850e8387c2ca7fc6929a26ce97fb598f1c55cd0fdaec4b8e2c3ed6770f65b2f3309c9175ef64ac5e403c8e48b53ceeb86d2897940c5e19cc00bb99 + languageName: node + linkType: hard + "text-hex@npm:1.0.x": version: 1.0.0 resolution: "text-hex@npm:1.0.0" @@ -9455,6 +10092,13 @@ __metadata: languageName: node linkType: hard +"toml@npm:^3.0.0": + version: 3.0.0 + resolution: "toml@npm:3.0.0" + checksum: 10c0/8d7ed3e700ca602e5419fca343e1c595eb7aa177745141f0761a5b20874b58ee5c878cd045c408da9d130cb2b611c639912210ba96ce2f78e443569aa8060c18 + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -9610,7 +10254,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.4.0": +"tslib@npm:^2.4.0, tslib@npm:^2.8.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -9952,6 +10596,16 @@ __metadata: languageName: node linkType: hard +"utf-8-validate@npm:^5.0.2": + version: 5.0.10 + resolution: "utf-8-validate@npm:5.0.10" + dependencies: + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.3.0" + checksum: 10c0/23cd6adc29e6901aa37ff97ce4b81be9238d0023c5e217515b34792f3c3edb01470c3bd6b264096dd73d0b01a1690b57468de3a24167dd83004ff71c51cc025f + languageName: node + linkType: hard + "util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -9975,6 +10629,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -10245,6 +10908,36 @@ __metadata: languageName: node linkType: hard +"ws@npm:^7.5.10": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d + languageName: node + linkType: hard + +"ws@npm:^8.5.0": + version: 8.18.3 + resolution: "ws@npm:8.18.3" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/eac918213de265ef7cb3d4ca348b891a51a520d839aa51cdb8ca93d4fa7ff9f6ccb339ccee89e4075324097f0a55157c89fa3f7147bde9d8d7e90335dc087b53 + languageName: node + linkType: hard + "ws@npm:^8.7.0, ws@npm:^8.8.1": version: 8.16.0 resolution: "ws@npm:8.16.0" From 13f2917237fc25094e9db0dcc334129fa0d4c3e4 Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Tue, 24 Feb 2026 10:25:28 +0000 Subject: [PATCH 19/21] update strategies --- server/.env.example | 14 +- .../exchangeInit/exchangeInit.service.ts | 44 +- .../mixin/exchange/exchange.service.ts | 128 +- .../modules/strategy/dex-volume.controller.ts | 20 + server/src/modules/strategy/dex-volume.dto.ts | 199 +++ .../strategy/dex-volume.strategy.service.ts | 237 ++++ server/src/modules/strategy/strategy.dto.ts | 2 +- .../src/modules/strategy/strategy.module.ts | 12 +- .../src/modules/strategy/strategy.service.ts | 1125 +++++++++++++++-- server/src/modules/trade/trade.service.ts | 4 +- 10 files changed, 1609 insertions(+), 176 deletions(-) create mode 100644 server/src/modules/strategy/dex-volume.controller.ts create mode 100644 server/src/modules/strategy/dex-volume.dto.ts create mode 100644 server/src/modules/strategy/dex-volume.strategy.service.ts diff --git a/server/.env.example b/server/.env.example index f527ae6f..8f82d260 100644 --- a/server/.env.example +++ b/server/.env.example @@ -1,6 +1,6 @@ # Server Configuration PORT=5001 -WS_PORT= +WS_PORT=3202 ADMIN_PASSWORD= JWT_SECRET= @@ -87,13 +87,23 @@ BITMART_SECRET_2= BITMART_API_KEY_READ_ONLY= BITMART_SECRET_READ_ONLY= +# Hyperliquid mainnet +HYPERLIQUID_API_KEY=... +HYPERLIQUID_SECRET=... +HYPERLIQUID_WALLET_ADDRESS=0x... + +# Hyperliquid testnet +HYPERLIQUID_TESTNET_API_KEY=... +HYPERLIQUID_TESTNET_SECRET=... +HYPERLIQUID_TESTNET_WALLET_ADDRESS=0x... + # Withdrawal API Keys WITHDRAWAL_BIGONE_API_KEY= WITHDRAWAL_BIGONE_API_SECRET= # Set to true to run strategies for open orders, disabled by default RUN_STARTEGY_FOR_MIXIN_ORDERS=false -RUN_MIXIN_SNAPSHOTS=true +RUN_MIXIN_SNAPSHOTS=false # Set to true to enable rebalance service, disabled by default RUN_REBALANCE= diff --git a/server/src/modules/exchangeInit/exchangeInit.service.ts b/server/src/modules/exchangeInit/exchangeInit.service.ts index 491aa46e..940a8e96 100644 --- a/server/src/modules/exchangeInit/exchangeInit.service.ts +++ b/server/src/modules/exchangeInit/exchangeInit.service.ts @@ -53,13 +53,21 @@ export class ExchangeInitService { apiKey, secret, password, + walletAddress, defaultType = 'spot', - }: { apiKey?: string; secret?: string; password?: string; defaultType?: 'spot' | 'swap' | 'future' }, + }: { + apiKey?: string; + secret?: string; + password?: string; + walletAddress?: string; + defaultType?: 'spot' | 'swap' | 'future'; + }, ) { const ex = new Ctor({ apiKey, secret, password, + ...(walletAddress ? { walletAddress } : {}), // Hyperliquid often needs this :contentReference[oaicite:3]{index=3} enableRateLimit: true, // some exchanges look at options.defaultType for spot/swap routing options: { @@ -74,7 +82,9 @@ export class ExchangeInitService { // For Binance this is options.adjustForTimeDifference, for others we log skew below. try { (ex.options as any).adjustForTimeDifference = true; - } catch {/* ignore if not supported */} + } catch { + /* ignore if not supported */ + } return ex; } @@ -92,7 +102,9 @@ export class ExchangeInitService { const absSkew = Math.abs(skewMs); const skewMsg = `[${exName}:${label}] time skew ${skewMs}ms`; if (absSkew > 5000) { - this.logger.warn(`${skewMsg} → consider NTP sync to avoid signature errors.`); + this.logger.warn( + `${skewMsg} → consider NTP sync to avoid signature errors.`, + ); } else { this.logger.log(skewMsg); } @@ -114,7 +126,7 @@ export class ExchangeInitService { if (/INVALID_SIGNATURE|Signature mismatch|auth|signature/i.test(msg)) { this.logger.error( `[${exName}:${label}] auth/signature failed → ` + - `check key/secret trimming, permissions, IP whitelist, and testnet vs mainnet. Raw: ${msg}`, + `check key/secret trimming, permissions, IP whitelist, and testnet vs mainnet. Raw: ${msg}`, ); } else if (/timestamp|request expired|time/i.test(msg)) { this.logger.error( @@ -144,6 +156,10 @@ export class ExchangeInitService { { name: 'p2b', class: (ccxt as any).pro.p2b, defaultType: 'spot' }, { name: 'probit', class: (ccxt as any).pro.probit, defaultType: 'spot' }, { name: 'digifinex', class: (ccxt as any).digifinex, defaultType: 'spot' }, + + // ✅ Hyperliquid + testnet (sandbox mode) + // Prefer CCXT Pro if present, fallback to REST class if not. + { name: 'hyperliquid', class: ((ccxt as any).pro?.hyperliquid ?? (ccxt as any).hyperliquid), defaultType: 'swap' }, ]; await Promise.all( @@ -167,6 +183,9 @@ export class ExchangeInitService { password: this.envTrim( `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_PASSWORD`, ), // OKX etc. + walletAddress: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_WALLET_ADDRESS`, + ), // Hyperliquid :contentReference[oaicite:4]{index=4} }, { label: 'account2', @@ -179,6 +198,9 @@ export class ExchangeInitService { password: this.envTrim( `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_PASSWORD_2`, ), + walletAddress: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_WALLET_ADDRESS_2`, + ), // Hyperliquid }, { label: 'read-only', @@ -191,6 +213,9 @@ export class ExchangeInitService { password: this.envTrim( `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_PASSWORD_READ_ONLY`, ), + walletAddress: this.envTrim( + `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_WALLET_ADDRESS_READ_ONLY`, + ), // Hyperliquid }, ]; @@ -198,9 +223,6 @@ export class ExchangeInitService { accounts.map(async (acct) => { try { if (!acct.apiKey || !acct.secret) { - // this.logger.log( - // `[${exName}:${acct.label}] skipped (missing API key/secret).`, - // ); return; } @@ -208,13 +230,17 @@ export class ExchangeInitService { apiKey: acct.apiKey, secret: acct.secret, password: acct.password, + walletAddress: acct.walletAddress, defaultType: cfg.defaultType ?? 'spot', }); // Testnet routing where supported - if (isTestnet && typeof (exchange as any).setSandboxMode === 'function') { + if ( + isTestnet && + typeof (exchange as any).setSandboxMode === 'function' + ) { (exchange as any).setSandboxMode(true); - this.logger.log(`[${exName}:${acct.label}] sandbox mode ON.`); + this.logger.log(`[${exName}:${acct.label}] sandbox mode ON.`); // :contentReference[oaicite:5]{index=5} } // Preload markets to configure symbol routing/types diff --git a/server/src/modules/mixin/exchange/exchange.service.ts b/server/src/modules/mixin/exchange/exchange.service.ts index 67299663..f3ee444b 100644 --- a/server/src/modules/mixin/exchange/exchange.service.ts +++ b/server/src/modules/mixin/exchange/exchange.service.ts @@ -123,7 +123,7 @@ export class ExchangeService { private exchangeRepository: ExchangeRepository, private eventEmitter: EventEmitter2, ) { - this.loadAPIKeys(); + // this.loadAPIKeys(); } private async loadAPIKeys() { @@ -653,67 +653,67 @@ export class ExchangeService { await this.updateSpotOrderApiKeyId(orderId, apiKeyId); } - @Cron('*/3 * * * * *') // Every 3 seconds - async placedOrderUpdater() { - const orders = await this.readOrdersByState( - STATE_TEXT_MAP['EXCHANGE_ORDER_PLACED'], - ); - - if (orders.length === 0) { - return; - } - - await Promise.all( - orders.map(async (o) => { - const instance = this.exchangeInstances[o.exchangeName]; - if (!instance.has['fetchOrder']) { - return await this.updateSpotOrderState( - o.orderId, - STATE_TEXT_MAP['EXCHANGE_DOESNT_SUPPORT_FETCH_ORDER'], - ); - } - - const order = await instance.fetchOrder(o.orderId); - - // TODO: All these states needs to be tested - // Determine order state and update - if (order.status === 'open') { - if (order.filled === 0) { - return; - } - if (order.filled != order.amount) { - await this.updateSpotOrderState( - o.orderId, - STATE_TEXT_MAP['EXCHANGE_ORDER_PARTIAL_FILLED'], - ); - return; - } - } - if (order.status === 'canceled') { - await this.updateSpotOrderState( - o.orderId, - STATE_TEXT_MAP['EXCHANGE_ORDER_CANCELED'], - ); - return; - } - if (order.status === 'closed') { - await this.updateSpotOrderState( - o.orderId, - STATE_TEXT_MAP['EXCHANGE_ORDER_FILLED'], - ); - } - - // TODO: add a final amount field to order and store in db. Use this value when release token - - // If order state is finished, jump to step 4, withdraw token in mixin (mixin.listener.ts) - const releaseOrder = await this.readMixinReleaseToken(o.orderId); - this.eventEmitter.emit('mixin.release', { - orderId: releaseOrder.orderId, - userId: releaseOrder.userId, - assetId: releaseOrder.assetId, - amount: releaseOrder.amount, - }); - }), - ); - } + // @Cron('*/3 * * * * *') // Every 3 seconds + // async placedOrderUpdater() { + // const orders = await this.readOrdersByState( + // STATE_TEXT_MAP['EXCHANGE_ORDER_PLACED'], + // ); + + // if (orders.length === 0) { + // return; + // } + + // await Promise.all( + // orders.map(async (o) => { + // const instance = this.exchangeInstances[o.exchangeName]; + // if (!instance.has['fetchOrder']) { + // return await this.updateSpotOrderState( + // o.orderId, + // STATE_TEXT_MAP['EXCHANGE_DOESNT_SUPPORT_FETCH_ORDER'], + // ); + // } + + // const order = await instance.fetchOrder(o.orderId); + + // // TODO: All these states needs to be tested + // // Determine order state and update + // if (order.status === 'open') { + // if (order.filled === 0) { + // return; + // } + // if (order.filled != order.amount) { + // await this.updateSpotOrderState( + // o.orderId, + // STATE_TEXT_MAP['EXCHANGE_ORDER_PARTIAL_FILLED'], + // ); + // return; + // } + // } + // if (order.status === 'canceled') { + // await this.updateSpotOrderState( + // o.orderId, + // STATE_TEXT_MAP['EXCHANGE_ORDER_CANCELED'], + // ); + // return; + // } + // if (order.status === 'closed') { + // await this.updateSpotOrderState( + // o.orderId, + // STATE_TEXT_MAP['EXCHANGE_ORDER_FILLED'], + // ); + // } + + // // TODO: add a final amount field to order and store in db. Use this value when release token + + // // If order state is finished, jump to step 4, withdraw token in mixin (mixin.listener.ts) + // const releaseOrder = await this.readMixinReleaseToken(o.orderId); + // this.eventEmitter.emit('mixin.release', { + // orderId: releaseOrder.orderId, + // userId: releaseOrder.userId, + // assetId: releaseOrder.assetId, + // amount: releaseOrder.amount, + // }); + // }), + // ); + // } } diff --git a/server/src/modules/strategy/dex-volume.controller.ts b/server/src/modules/strategy/dex-volume.controller.ts new file mode 100644 index 00000000..ce5275f8 --- /dev/null +++ b/server/src/modules/strategy/dex-volume.controller.ts @@ -0,0 +1,20 @@ +import { Body, Controller, Post } from '@nestjs/common'; +import { DexVolumeStrategyService } from './dex-volume.strategy.service'; +import { DexVolumeStrategyDto } from './dex-volume.dto'; + +@Controller('strategy/dex-volume') +export class DexVolumeController { + constructor(private readonly svc: DexVolumeStrategyService) {} + + @Post('startdexvolume') + start(@Body() dto: DexVolumeStrategyDto) { + this.svc.execute(dto); + return { ok: true }; + } + + @Post('stopdexvolume') + stop(@Body() b: { userId: string; clientId: string }) { + this.svc.stop(b.userId, b.clientId); + return { ok: true }; + } +} diff --git a/server/src/modules/strategy/dex-volume.dto.ts b/server/src/modules/strategy/dex-volume.dto.ts new file mode 100644 index 00000000..cdf6e552 --- /dev/null +++ b/server/src/modules/strategy/dex-volume.dto.ts @@ -0,0 +1,199 @@ +// dex-volume.dto.ts +import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; +import { Type } from 'class-transformer'; +import { + IsBoolean, + IsIn, + IsInt, + IsNumber, + IsOptional, + IsPositive, + IsString, + Matches, + Max, + Min, +} from 'class-validator'; +import { DexId } from 'src/defi/addresses'; + +export class DexVolumeStrategyDto { + @ApiProperty({ description: 'User ID initiating the strategy', example: 'user_123' }) + @IsString() + userId!: string; + + @ApiProperty({ description: 'Client/workspace ID', example: 'client_A' }) + @IsString() + clientId!: string; + + @ApiProperty({ + description: 'Which DEX adapter to use', + // If you have a DexId type/enum exported elsewhere, change enumName and enum accordingly: + enum: ['uniswapV3', 'pancakeV3'], + example: 'uniswapV3', + }) + @IsString() + @IsIn(['uniswapV3', 'pancakeV3']) + dexId!: DexId; + + @ApiProperty({ description: 'EVM chain ID', example: 1, minimum: 1 }) + @Type(() => Number) + @IsInt() + @IsPositive() + chainId!: number; + + @ApiProperty({ description: 'RPC URL for provider', example: 'https://mainnet.infura.io/v3/' }) + @IsString() + rpcUrl!: string; + + @ApiProperty({ + description: 'Primary signer private key (0x-prefixed)', + example: '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + }) + @IsString() + @Matches(/^0x[0-9a-fA-F]{64}$/, { message: 'signerPk1 must be a 0x-prefixed 32-byte hex string' }) + signerPk1!: string; + + @ApiPropertyOptional({ + description: 'Optional secondary signer private key (0x-prefixed)', + example: '0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', + }) + @IsOptional() + @IsString() + @Matches(/^0x[0-9a-fA-F]{64}$/, { + message: 'signerPk2 must be a 0x-prefixed 32-byte hex string', + }) + signerPk2?: string; + + @ApiProperty({ description: 'Token in (ERC-20 address)', example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' }) + @IsString() + tokenIn!: string; + + @ApiProperty({ description: 'Token out (ERC-20 address)', example: '0xdAC17F958D2ee523a2206206994597C13D831ec7' }) + @IsString() + tokenOut!: string; + + @ApiProperty({ + description: 'Uniswap V3-like pool fee tier (in ppm)', + enum: [500, 3000, 10000], + example: 500, + }) + @Type(() => Number) + @IsInt() + @IsIn([500, 3000, 10000]) + feeTier!: 500 | 3000 | 10000; + + @ApiProperty({ + description: 'Base amount in (human string in tokenIn units)', + example: '250.5', + }) + @IsString() + baseAmountIn!: string; + + @ApiPropertyOptional({ + description: '±Jitter on base amount (%)', + example: 5, + default: 5, + minimum: 0, + maximum: 100, + }) + @Type(() => Number) + @IsOptional() + @IsNumber() + @Min(0) + @Max(100) + amountJitterPct?: number; + + @ApiProperty({ description: 'How many cycles to run', example: 50, minimum: 1 }) + @Type(() => Number) + @IsInt() + @IsPositive() + numCycles!: number; + + @ApiProperty({ + description: 'Base interval between cycles (seconds)', + example: 30, + minimum: 1, + }) + @Type(() => Number) + @IsInt() + @IsPositive() + baseIntervalSec!: number; + + @ApiPropertyOptional({ + description: '±Jitter on interval (%)', + example: 20, + default: 20, + minimum: 0, + maximum: 100, + }) + @Type(() => Number) + @IsOptional() + @IsNumber() + @Min(0) + @Max(100) + intervalJitterPct?: number; + + @ApiProperty({ + description: 'Max slippage (basis points)', + example: 30, + minimum: 0, + }) + @Type(() => Number) + @IsInt() + @Min(0) + slippageBps!: number; + + @ApiProperty({ + description: 'Max price impact per swap (%)', + example: 0.3, + minimum: 0, + maximum: 100, + }) + @Type(() => Number) + @IsNumber() + @Min(0) + @Max(100) + maxPriceImpactPct!: number; + + @ApiPropertyOptional({ + description: 'Max gas cost per hop in quote token', + example: 1.25, + minimum: 0, + }) + @Type(() => Number) + @IsOptional() + @IsNumber() + @Min(0) + maxGasCostInQuote?: number; + + @ApiPropertyOptional({ + description: 'Native gas token price in quote token (e.g., ETH priced in USDC)', + example: 3200.5, + minimum: 0, + }) + @Type(() => Number) + @IsOptional() + @IsNumber() + @Min(0) + gasTokenPriceInQuote?: number; + + @ApiPropertyOptional({ + description: 'Swap deadline in seconds from now', + example: 90, + default: 90, + minimum: 1, + }) + @Type(() => Number) + @IsOptional() + @IsInt() + @IsPositive() + deadlineSec?: number; + + @ApiPropertyOptional({ + description: 'If true, simulate only (no on-chain tx)', + example: false, + default: false, + }) + @IsOptional() + @IsBoolean() + dryRun?: boolean; +} diff --git a/server/src/modules/strategy/dex-volume.strategy.service.ts b/server/src/modules/strategy/dex-volume.strategy.service.ts new file mode 100644 index 00000000..ad363420 --- /dev/null +++ b/server/src/modules/strategy/dex-volume.strategy.service.ts @@ -0,0 +1,237 @@ +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Repository } from 'typeorm'; +import { BigNumber, ethers } from 'ethers'; + +import { CustomLogger } from 'src/modules/logger/logger.service'; +import { MarketMakingHistory } from 'src/common/entities/market-making-order.entity'; +import { StrategyInstance } from 'src/common/entities/strategy-instances.entity'; +import { createStrategyKey } from 'src/common/helpers/strategyKey'; + +import { DexAdapterRegistry } from 'src/defi/adapter-registry'; +import { DexVolumeStrategyDto } from './dex-volume.dto'; +import { clampJitter } from 'src/defi/utils/pricing'; +import { ensureAllowance, readDecimals } from 'src/defi/utils/erc20'; +import { UNISWAP_V3_POOL_ABI } from 'src/defi/abis'; +import { priceFromSqrtX96 } from 'src/defi/utils/pricing'; + +@Injectable() +export class DexVolumeStrategyService { + private readonly logger = new CustomLogger(DexVolumeStrategyService.name); + private loops = new Map(); + + constructor( + private readonly adapters: DexAdapterRegistry, + @InjectRepository(MarketMakingHistory) + private readonly orderRepo: Repository, + @InjectRepository(StrategyInstance) + private readonly strategyRepo: Repository, + ) {} + + private nowUnix = () => Math.floor(Date.now() / 1000); + + async execute(dto: DexVolumeStrategyDto) { + const { + userId, clientId, dexId, + chainId, rpcUrl, signerPk1, signerPk2, + tokenIn, tokenOut, feeTier, + baseAmountIn, amountJitterPct = 5, numCycles, baseIntervalSec, intervalJitterPct = 20, + slippageBps, maxPriceImpactPct, maxGasCostInQuote, gasTokenPriceInQuote, + deadlineSec = 90, dryRun = false, + } = dto; + + const adapter = this.adapters.get(dexId); + if (!adapter.supportsChain(chainId)) { + throw new Error(`${dexId} not configured for chain ${chainId}`); + } + + const provider = new ethers.providers.JsonRpcProvider(rpcUrl, chainId); + const signer1 = new ethers.Wallet(signerPk1, provider); + const signer2 = signerPk2 ? new ethers.Wallet(signerPk2, provider) : null; + + const strategyKey = createStrategyKey({ type: 'dexVolume', user_id: userId, client_id: clientId }); + + await this.strategyRepo.save( + this.strategyRepo.create({ + strategyKey, + userId, + clientId, + strategyType: 'dexVolume', + parameters: dto, + status: 'running', + startPrice: 0, + }), + ); + + const decIn = await readDecimals(provider, tokenIn); + const decOut = await readDecimals(provider, tokenOut); + + const poolAddr = await adapter.getPool(provider, chainId, tokenIn, tokenOut, feeTier); + if (poolAddr === ethers.constants.AddressZero) { + throw new Error(`No pool for ${tokenIn}/${tokenOut} fee ${feeTier} on chain ${chainId}`); + } + + const poolC = new ethers.Contract(poolAddr, UNISWAP_V3_POOL_ABI, provider); + + let executed = 0; + let useAlt = false; + + const oneCycle = async () => { + if (executed >= numCycles) { + this.logger.log(`[${strategyKey}] Completed ${numCycles} cycles.`); + this.loops.delete(strategyKey); + await this.strategyRepo.update({ strategyKey }, { status: 'stopped', updatedAt: new Date() }); + return; + } + + const signer = useAlt && signer2 ? signer2 : signer1; + const fromAddr = await signer.getAddress(); + + try { + const slot = await poolC.slot0(); + const sqrtPriceX96 = slot[0] as BigNumber; + const spotOutPerIn = priceFromSqrtX96(sqrtPriceX96, decIn, decOut); + + const amtInHuman = clampJitter(parseFloat(baseAmountIn), amountJitterPct); + const amountIn = ethers.utils.parseUnits(amtInHuman.toFixed(decIn), decIn); + + // Quote A->B + const { amountOut } = await adapter.quoteExactInputSingle(provider, chainId, { + tokenIn, tokenOut, fee: feeTier, amountIn, + }); + if (amountOut.lte(0)) { + this.logger.warn(`[${strategyKey}] Quote returned 0; skipping.`); + return scheduleNext(); + } + + const effOutPerIn = + parseFloat(ethers.utils.formatUnits(amountOut, decOut)) / + parseFloat(ethers.utils.formatUnits(amountIn, decIn)); + + const impactPct = Math.abs((effOutPerIn - spotOutPerIn) / spotOutPerIn) * 100; + if (impactPct > maxPriceImpactPct) { + this.logger.warn(`[${strategyKey}] Impact ${impactPct.toFixed(4)}% > cap ${maxPriceImpactPct}%. Skip.`); + return scheduleNext(); + } + + const minOut = amountOut.mul(10_000 - slippageBps).div(10_000); + + // Gas gate (optional) + if (maxGasCostInQuote && gasTokenPriceInQuote) { + const gas = await adapter.estimateGasExactInputSingle(signer, chainId, { + tokenIn, tokenOut, fee: feeTier, recipient: fromAddr, deadline: this.nowUnix() + deadlineSec, + amountIn, amountOutMinimum: minOut, + }); + const feeData = await signer.provider!.getFeeData(); + const price = (feeData.maxFeePerGas ?? feeData.gasPrice) ?? BigNumber.from(0); + const costNative = gas.mul(price); + const costInQuote = parseFloat(ethers.utils.formatEther(costNative)) * gasTokenPriceInQuote; + if (costInQuote > maxGasCostInQuote) { + this.logger.warn(`[${strategyKey}] Gas ${costInQuote.toFixed(6)} > cap ${maxGasCostInQuote}. Skip.`); + return scheduleNext(); + } + } + + // Approvals + if (tokenIn !== ethers.constants.AddressZero) { + await ensureAllowance(signer, tokenIn, fromAddr, adapter.getAddresses(chainId).router, amountIn); + } + + if (dryRun) { + this.logger.log(`[${strategyKey}] DRY A→B: in=${amtInHuman} out≈${ethers.utils.formatUnits(amountOut, decOut)} min=${ethers.utils.formatUnits(minOut, decOut)} impact=${impactPct.toFixed(3)}%`); + } else { + const rcpt = await adapter.exactInputSingle(signer, chainId, { + tokenIn, tokenOut, fee: feeTier, recipient: fromAddr, deadline: this.nowUnix() + deadlineSec, + amountIn, amountOutMinimum: minOut, + }); + + await this.orderRepo.save(this.orderRepo.create({ + userId, clientId, + exchange: `${dexId}:${chainId}`, + pair: `${tokenIn}/${tokenOut}:${feeTier}`, + side: 'buy', + amount: parseFloat(ethers.utils.formatUnits(amountIn, decIn)), + price: effOutPerIn, + orderId: rcpt.transactionHash, + executedAt: new Date(), + status: 'closed', + strategy: 'dexVolume', + })); + + this.logger.log(`[${strategyKey}] Swap A→B ok: ${rcpt.transactionHash}`); + } + + // Optional immediate B->A (bounded by available balance) + const balOut = await new ethers.Contract(tokenOut, ['function balanceOf(address) view returns (uint256)'], provider).balanceOf(fromAddr); + if (balOut.gt(0)) { + const util = Math.min(1, clampJitter(1, amountJitterPct / 2)); + const amountBack = balOut.mul(Math.round(util * 10_000)).div(10_000); + const q2 = await adapter.quoteExactInputSingle(provider, chainId, { + tokenIn: tokenOut, tokenOut: tokenIn, fee: feeTier, amountIn: amountBack, + }); + const minBack = q2.amountOut.mul(10_000 - slippageBps).div(10_000); + + if (!dryRun) { + await ensureAllowance(signer, tokenOut, fromAddr, adapter.getAddresses(chainId).router, amountBack); + const rcpt2 = await adapter.exactInputSingle(signer, chainId, { + tokenIn: tokenOut, tokenOut: tokenIn, fee: feeTier, + recipient: fromAddr, deadline: this.nowUnix() + deadlineSec, + amountIn: amountBack, amountOutMinimum: minBack, + }); + + await this.orderRepo.save(this.orderRepo.create({ + userId, clientId, + exchange: `${dexId}:${chainId}`, + pair: `${tokenOut}/${tokenIn}:${feeTier}`, + side: 'sell', + amount: parseFloat(ethers.utils.formatUnits(amountBack, decOut)), + price: 1 / (effOutPerIn || 1), + orderId: rcpt2.transactionHash, + executedAt: new Date(), + status: 'closed', + strategy: 'dexVolume', + })); + + this.logger.log(`[${strategyKey}] Swap B→A ok: ${rcpt2.transactionHash}`); + } else { + this.logger.log(`[${strategyKey}] DRY B→A: in≈${ethers.utils.formatUnits(amountBack, decOut)} out(min)≈${ethers.utils.formatUnits(minBack, decIn)}`); + } + } + + executed++; + useAlt = !useAlt; + scheduleNext(); + } catch (err: any) { + this.logger.error(`[${strategyKey}] Error: ${err?.message || err}`); + scheduleRetry(); + } + }; + + const scheduleNext = () => { + const delay = Math.max(1000, Math.floor(clampJitter(baseIntervalSec, intervalJitterPct) * 1000)); + const t = setTimeout(oneCycle, delay); + this.loops.set(strategyKey, t); + this.logger.log(`[${strategyKey}] Next hop in ~${Math.round(delay / 1000)}s`); + }; + + const scheduleRetry = () => { + const delay = Math.floor(clampJitter(baseIntervalSec * 1.5, intervalJitterPct) * 1000); + const t = setTimeout(oneCycle, delay); + this.loops.set(strategyKey, t); + this.logger.log(`[${strategyKey}] Retry in ~${Math.round(delay / 1000)}s`); + }; + + this.logger.log(`[${strategyKey}] DEX volume started on ${dexId}@${chainId}`); + oneCycle(); + } + + stop(userId: string, clientId: string) { + const strategyKey = createStrategyKey({ type: 'dexVolume', user_id: userId, client_id: clientId }); + const t = this.loops.get(strategyKey); + if (t) clearTimeout(t); + this.loops.delete(strategyKey); + this.strategyRepo.update({ strategyKey }, { status: 'stopped', updatedAt: new Date() }); + this.logger.log(`[${strategyKey}] Stopped.`); + } +} + diff --git a/server/src/modules/strategy/strategy.dto.ts b/server/src/modules/strategy/strategy.dto.ts index bc83b1ff..655f62d3 100644 --- a/server/src/modules/strategy/strategy.dto.ts +++ b/server/src/modules/strategy/strategy.dto.ts @@ -128,7 +128,7 @@ export class PureMarketMakingStrategyDto { @ApiProperty({ description: 'Price source type (MID_PRICE, BEST_BID, BEST_ASK, LAST_PRICE)', - example: 'MID_PRICE', + example: 'mid_price', enum: PriceSourceType, }) priceSourceType: PriceSourceType; diff --git a/server/src/modules/strategy/strategy.module.ts b/server/src/modules/strategy/strategy.module.ts index 4fac8cbd..8bc295a6 100644 --- a/server/src/modules/strategy/strategy.module.ts +++ b/server/src/modules/strategy/strategy.module.ts @@ -25,6 +25,11 @@ import { StrategyInstance } from 'src/common/entities/strategy-instances.entity' import { AdminModule } from '../admin/admin.module'; import { TimeIndicatorStrategyService } from './time-indicator.service'; import { IndicatorStrategyHistory } from 'src/common/entities/indicator-strategy-history.entity'; +import { DexVolumeStrategyService } from './dex-volume.strategy.service'; +import { DexVolumeController } from './dex-volume.controller'; +import { DexAdapterRegistry } from 'src/defi/adapter-registry'; +import { UniswapV3Adapter } from 'src/defi/adapters/uniswapV3.adapter'; +import { PancakeV3Adapter } from 'src/defi/adapters/pancakeV3.adapter'; @Module({ imports: [ @@ -45,7 +50,7 @@ import { IndicatorStrategyHistory } from 'src/common/entities/indicator-strategy IndicatorStrategyHistory, ]), ], - controllers: [StrategyController], + controllers: [StrategyController,DexVolumeController], providers: [ StrategyService, StrategyUserService, @@ -53,12 +58,17 @@ import { IndicatorStrategyHistory } from 'src/common/entities/indicator-strategy ExchangeInitService, AlpacaStratService, TimeIndicatorStrategyService, + DexVolumeStrategyService, + DexAdapterRegistry, + UniswapV3Adapter, + PancakeV3Adapter ], exports: [ StrategyService, StrategyUserService, StrategyUserRepository, TimeIndicatorStrategyService, + DexVolumeStrategyService ], }) export class StrategyModule {} diff --git a/server/src/modules/strategy/strategy.service.ts b/server/src/modules/strategy/strategy.service.ts index 4aee346a..a340f006 100644 --- a/server/src/modules/strategy/strategy.service.ts +++ b/server/src/modules/strategy/strategy.service.ts @@ -382,14 +382,15 @@ async executeVolumeStrategy( const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); const ex2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); - await ex1.loadMarkets(); - await ex2.loadMarkets(); + + await Promise.all([ex1.loadMarkets(), ex2.loadMarkets()]); const market = ex1.market(symbol); if (!market) throw new Error(`Market not found for ${symbol} on ${ex1.id}`); const priceToPrec = (p: number) => Number(ex1.priceToPrecision(symbol, p)); const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); + const minAmt = market.limits?.amount?.min ?? 0; const minPrice = market.limits?.price?.min ?? 0; @@ -419,7 +420,7 @@ async executeVolumeStrategy( status: 'running', startPrice, }); - await this.strategyInstanceRepository.save(strategyInstance); + // await this.strategyInstanceRepository.save(strategyInstance); } else { await this.strategyInstanceRepository.update( { strategyKey }, @@ -428,26 +429,14 @@ async executeVolumeStrategy( } let tradesExecuted = 0; - let makerIsEx1 = true; - - const rebalanceIOC = async (ex: ccxt.Exchange, side: 'buy' | 'sell', px: number, amt: number) => { - const book = await ex.fetchOrderBook(symbol); - const ref = side === 'buy' ? (book.asks[0]?.[0] ?? px) : (book.bids[0]?.[0] ?? px); - const price = side === 'buy' ? Math.max(ref, px) * 1.002 : Math.min(ref, px) * 0.998; - const p = Math.max(price, minPrice || 1e-12); - const ap = priceToPrec(p); - const aa = amtToPrec(Math.max(amt, minAmt || 0)); - if (aa <= 0) return; - try { - await ex.createOrder(symbol, 'limit', side, aa, ap, { timeInForce: 'IOC' }); - } catch (e) { - this.logger.warn(`[${strategyKey}] Rebalance failed on ${ex.id}: ${e.message}`); - } - }; + let totalPnL = 0; // Track cumulative PnL const loop = async () => { if (tradesExecuted >= numTrades) { - this.logger.log(`Volume strategy [${strategyKey}] completed after ${numTrades} trades.`); + this.logger.log( + `Volume strategy [${strategyKey}] completed after ${numTrades} trades. ` + + `Total PnL: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)}` + ); const inst = this.strategyInstances.get(strategyKey); if (inst?.intervalId) clearInterval(inst.intervalId); this.strategyInstances.delete(strategyKey); @@ -458,127 +447,1069 @@ async executeVolumeStrategy( return; } + const tradeNumber = tradesExecuted + 1; + try { - await this.cancelAllOrders(ex1, symbol, strategyKey); - await this.cancelAllOrders(ex2, symbol, strategyKey); + await Promise.all([ + this.cancelAllOrders(ex1, symbol, strategyKey), + this.cancelAllOrders(ex2, symbol, strategyKey), + ]); - const makerEx = makerIsEx1 ? ex1 : ex2; - const takerEx = makerIsEx1 ? ex2 : ex1; - const makerSide: 'buy' | 'sell' = postOnlySide; - const takerSide: 'buy' | 'sell' = makerSide === 'buy' ? 'sell' : 'buy'; + const [bal1, bal2] = await Promise.all([ + ex1.fetchBalance(), + ex2.fetchBalance(), + ]); + + const [base, quote] = symbol.split('/'); - const bookMaker = await makerEx.fetchOrderBook(symbol); - const bid = bookMaker.bids[0]?.[0]; - const ask = bookMaker.asks[0]?.[0]; - if (!bid || !ask) throw new Error('Empty orderbook'); - const mid = (bid + ask) / 2; + const ex1Base = Number(bal1.free[base] ?? 0); + const ex1Quote = Number(bal1.free[quote] ?? 0); + const ex2Base = Number(bal2.free[base] ?? 0); + const ex2Quote = Number(bal2.free[quote] ?? 0); - const makerPrice = priceToPrec(Math.max(mid, minPrice || 1e-12)); - const takerPrice = makerPrice; + // Use ex1 orderbook as global reference + const book1 = await ex1.fetchOrderBook(symbol); + const bid1 = book1.bids[0]?.[0]; + const ask1 = book1.asks[0]?.[0]; + if (!bid1 || !ask1) throw new Error('Empty orderbook on ex1'); - const balMaker = await makerEx.fetchBalance(); - const balTaker = await takerEx.fetchBalance(); - const [base, quote] = symbol.split('/'); + const globalMid = (bid1 + ask1) / 2; + const priceForCapacity = globalMid > 0 ? globalMid : (minPrice || 1e-12); - const makerBase = Number(balMaker.free[base] ?? 0); - const makerQuote = Number(balMaker.free[quote] ?? 0); - const takerBase = Number(balTaker.free[base] ?? 0); - const takerQuote = Number(balTaker.free[quote] ?? 0); + const makerSide: 'buy' | 'sell' = postOnlySide; + const takerSide: 'buy' | 'sell' = makerSide === 'buy' ? 'sell' : 'buy'; + + // Capacity if ex1 = maker, ex2 = taker + const capacity1 = Math.min( + makerSide === 'buy' ? ex1Quote / priceForCapacity : ex1Base, + makerSide === 'buy' ? ex2Base : ex2Quote / priceForCapacity, + ); - const maxByMaker = - makerSide === 'buy' ? (makerQuote > 0 ? makerQuote / makerPrice : 0) : makerBase; - const maxByTaker = - takerSide === 'buy' ? (takerQuote > 0 ? takerQuote / takerPrice : 0) : takerBase; + // Capacity if ex2 = maker, ex1 = taker + const capacity2 = Math.min( + makerSide === 'buy' ? ex2Quote / priceForCapacity : ex2Base, + makerSide === 'buy' ? ex1Base : ex1Quote / priceForCapacity, + ); - let rawAmt = Math.min(baseTradeAmount, maxByMaker, maxByTaker); - rawAmt = Math.max(0, rawAmt); + let makerEx = capacity1 >= capacity2 ? ex1 : ex2; + let takerEx = capacity1 >= capacity2 ? ex2 : ex1; + let maxCapacity = capacity1 >= capacity2 ? capacity1 : capacity2; - const amount = amtToPrec(rawAmt); - if (!amount || amount <= 0 || amount < (minAmt || 0)) { + if (!maxCapacity || maxCapacity <= 0 || maxCapacity < minAmt) { this.logger.warn( - `[${strategyKey}] Insufficient balances for trade. maker=${makerEx.id} ${base}=${makerBase.toFixed( - 8, - )} ${quote}=${makerQuote.toFixed(8)} taker=${takerEx.id} ${base}=${takerBase.toFixed( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: insufficient combined balance. ` + + `ex1Base=${ex1Base.toFixed(8)} ex1Quote=${ex1Quote.toFixed(8)} ex2Base=${ex2Base.toFixed( 8, - )} ${quote}=${takerQuote.toFixed(8)}`, + )} ex2Quote=${ex2Quote.toFixed(8)}`, ); return; } - if (makerSide === 'buy' && makerQuote < amount * makerPrice) { - await rebalanceIOC(makerEx, 'buy', makerPrice, amount); - } else if (makerSide === 'sell' && makerBase < amount) { - await rebalanceIOC(makerEx, 'sell', makerPrice, amount); - } + // Maker orderbook (reuse ex1 book if makerEx is ex1) + const makerBook = makerEx === ex1 ? book1 : await makerEx.fetchOrderBook(symbol); + const makerBid = makerBook.bids[0]?.[0]; + const makerAsk = makerBook.asks[0]?.[0]; + if (!makerBid || !makerAsk) throw new Error(`Empty orderbook on maker exchange ${makerEx.id}`); + + const mid = (makerBid + makerAsk) / 2; + const makerRawPrice = Math.max(mid, minPrice || 1e-12); + const makerPrice = priceToPrec(makerRawPrice); + + let rawAmt = Math.min(baseTradeAmount, maxCapacity) * 0.99; + let amount = amtToPrec(rawAmt); - if (takerSide === 'buy' && takerQuote < amount * takerPrice) { - await rebalanceIOC(takerEx, 'buy', takerPrice, amount); - } else if (takerSide === 'sell' && takerBase < amount) { - await rebalanceIOC(takerEx, 'sell', takerPrice, amount); + if (!amount || amount <= 0 || amount < minAmt) { + this.logger.warn( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: computed amount too small. ` + + `amount=${amount} minAmt=${minAmt} maxCapacity=${maxCapacity}`, + ); + return; } - const makerOrder = await makerEx.createOrder( - symbol, - 'limit', - makerSide, - amount, - makerPrice, - { postOnly: true }, - ); - const takerOrder = await takerEx.createOrder( - symbol, - 'limit', - takerSide, - amount, - takerPrice, - ); + // Helper to recompute capacity after switching maker/taker + const computeCapacity = (me: ccxt.Exchange, te: ccxt.Exchange) => { + const bMaker = me === ex1 ? bal1 : bal2; + const bTaker = te === ex1 ? bal1 : bal2; - this.logger.log( - `[${strategyKey}] Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} | Taker ${takerSide.toUpperCase()} ${amount} @ ${takerPrice} on ${takerEx.id}`, - ); + const mBase = Number(bMaker.free[base] ?? 0); + const mQuote = Number(bMaker.free[quote] ?? 0); + const tBase = Number(bTaker.free[base] ?? 0); + const tQuote = Number(bTaker.free[quote] ?? 0); + + const mMax = makerSide === 'buy' ? mQuote / priceForCapacity : mBase; + const tMax = makerSide === 'buy' ? tBase : tQuote / priceForCapacity; - const makerInfo = await makerEx.fetchOrder(makerOrder.id, symbol); - const takerInfo = await takerEx.fetchOrder(takerOrder.id, symbol); + return Math.min(mMax, tMax); + }; + + let makerOrder: any; + let takerOrder: any; + let lastTakerPrice: number | undefined; + + // ----------------------- + // MAKER ORDER (with fallback) + // ----------------------- + try { + makerOrder = await makerEx.createOrder( + symbol, + 'limit', + makerSide, + amount, + makerPrice, + { postOnly: true }, + ); - if (makerInfo.status === 'closed' || makerInfo.status === 'filled') { this.logger.log( - `[${strategyKey}] Maker order filled on ${makerEx.id} id=${makerOrder.id} filled=${makerInfo.filled ?? 0}`, + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Maker order placed: ${makerOrder.id}` ); - } else { + } catch (e: any) { + this.logger.warn( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: maker failed on ${makerEx.id}: ${e.message}. ` + + `Switching maker/taker and recomputing amount.`, + ); + + // Swap roles + const newMaker = makerEx === ex1 ? ex2 : ex1; + const newTaker = makerEx === ex1 ? ex1 : ex2; + makerEx = newMaker; + takerEx = newTaker; + + const cap = computeCapacity(makerEx, takerEx); + if (!cap || cap <= 0 || cap < minAmt) { + throw new Error( + `Alternate maker/taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`, + ); + } + + const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); + if (!newAmt || newAmt <= 0 || newAmt < minAmt) { + throw new Error( + `Alternate maker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`, + ); + } + + amount = newAmt; + + makerOrder = await makerEx.createOrder( + symbol, + 'limit', + makerSide, + amount, + makerPrice, + { postOnly: true }, + ); + this.logger.log( - `[${strategyKey}] Maker order not filled on ${makerEx.id} id=${makerOrder.id} status=${makerInfo.status} filled=${makerInfo.filled ?? 0}`, + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Alternate maker order placed: ${makerOrder.id}` ); } - if (takerInfo.status === 'closed' || takerInfo.status === 'filled') { + // ----------------------- + // 30ms SAFETY DELAY + // ----------------------- + await new Promise(resolve => setTimeout(resolve, 30)); + + // ----------------------- + // TAKER ORDER (LIMIT + IOC, with fallback) + // ----------------------- + try { + const takerLimitPrice = makerPrice; + lastTakerPrice = takerLimitPrice + (takerLimitPrice*0.0000001); + + takerOrder = await takerEx.createOrder( + symbol, + 'limit', + takerSide, + amount, + takerLimitPrice, + { timeInForce: 'IOC' }, + ); + this.logger.log( - `[${strategyKey}] Taker order filled on ${takerEx.id} id=${takerOrder.id} filled=${takerInfo.filled ?? 0}`, + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Taker order placed: ${takerOrder.id}` ); - } else { + } catch (e: any) { + this.logger.warn( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: taker failed on ${takerEx.id}: ${e.message}. ` + + `Switching taker and recomputing amount.`, + ); + + const newTaker = takerEx === ex1 ? ex2 : ex1; + takerEx = newTaker; + + const cap = computeCapacity(makerEx, takerEx); + if (!cap || cap <= 0 || cap < minAmt) { + try { + if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); + } catch (_) {} + throw new Error( + `Alternate taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`, + ); + } + + const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); + if (!newAmt || newAmt <= 0 || newAmt < minAmt) { + try { + if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); + } catch (_) {} + throw new Error( + `Alternate taker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`, + ); + } + + amount = newAmt; + + const takerLimitPrice = makerPrice; + lastTakerPrice = takerLimitPrice; + + takerOrder = await takerEx.createOrder( + symbol, + 'limit', + takerSide, + amount, + takerLimitPrice, + { timeInForce: 'IOC' }, + ); + this.logger.log( - `[${strategyKey}] Taker order not filled on ${takerEx.id} id=${takerOrder.id} status=${takerInfo.status} filled=${takerInfo.filled ?? 0}`, + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Alternate taker order placed: ${takerOrder.id}` ); } + // ----------------------- + // LOG + FILL STATUS + PNL TRACKING + // ----------------------- + await new Promise(resolve => setTimeout(resolve, 200)); // Brief delay for order status update + + const [makerRes, takerRes] = await Promise.all([ + makerEx.fetchOrder(makerOrder.id, symbol), + takerEx.fetchOrder(takerOrder.id, symbol), + ]); + + const makerFilled = makerRes.filled ?? 0; + const takerFilled = takerRes.filled ?? 0; + const makerAvgPrice = makerRes.average ?? makerPrice; + const takerAvgPrice = takerRes.average ?? (lastTakerPrice ?? makerPrice); + + // Calculate PnL + let tradePnL = 0; + if (makerFilled > 0 && takerFilled > 0) { + const filledAmount = Math.min(makerFilled, takerFilled); + + if (makerSide === 'buy') { + // We bought at makerAvgPrice and sold at takerAvgPrice + tradePnL = (takerAvgPrice - makerAvgPrice) * filledAmount; + } else { + // We sold at makerAvgPrice and bought at takerAvgPrice + tradePnL = (makerAvgPrice - takerAvgPrice) * filledAmount; + } + + totalPnL += tradePnL; + } + + this.logger.log( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} ` + + `status=${makerRes.status} filled=${makerFilled}/${amount} avgPrice=${makerAvgPrice}`, + ); + + this.logger.log( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Taker ${takerSide.toUpperCase()} ${amount} @ ${lastTakerPrice ?? 'N/A'} on ${takerEx.id} ` + + `status=${takerRes.status} filled=${takerFilled}/${amount} avgPrice=${takerAvgPrice}`, + ); + + this.logger.log( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `PnL: ${tradePnL >= 0 ? '+' : ''}${tradePnL.toFixed(8)} ${quote} | ` + + `Cumulative: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)} ${quote}` + ); + tradesExecuted++; - makerIsEx1 = !makerIsEx1; - } catch (e) { - this.logger.error(`[${strategyKey}] Error in trade cycle: ${e.message}`); + } catch (err: any) { + this.logger.error( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: Error in trade cycle: ${err.message}`, + ); } }; - const intervalId = setInterval(loop, Math.max(1, baseIntervalTime) * 1000); + const intervalId = setInterval(loop, Math.max(baseIntervalTime, 1) * 1000); this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); - this.logger.log(`Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}.`); - } catch (error) { - this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${error.message}`); + + this.logger.log( + `Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}. ` + + `postOnlySide=${postOnlySide} numTrades=${numTrades}`, + ); + } catch (e: any) { + this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${e.message}`); } } +// async executeVolumeStrategy( +// exchangeName: string, +// symbol: string, +// baseIncrementPercentage: number, +// baseIntervalTime: number, +// baseTradeAmount: number, +// numTrades: number, +// userId: string, +// clientId: string, +// pricePushRate: number, +// postOnlySide: 'buy' | 'sell', +// ) { +// const strategyKey = createStrategyKey({ +// type: 'volume', +// user_id: userId, +// client_id: clientId, +// }); + +// try { +// let strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey } }); + +// const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); +// const ex2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); + +// await Promise.all([ex1.loadMarkets(), ex2.loadMarkets()]); + +// const market = ex1.market(symbol); +// if (!market) throw new Error(`Market not found for ${symbol} on ${ex1.id}`); + +// const priceToPrec = (p: number) => Number(ex1.priceToPrecision(symbol, p)); +// const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); + +// const minAmt = market.limits?.amount?.min ?? 0; +// const minPrice = market.limits?.price?.min ?? 0; + +// const startTicker = await ex1.fetchTicker(symbol); +// const startPrice = Number(startTicker.last); + +// const parameters = { +// exchangeName, +// symbol, +// baseIncrementPercentage, +// baseIntervalTime, +// baseTradeAmount, +// numTrades, +// userId, +// clientId, +// pricePushRate, +// postOnlySide, +// }; + +// if (!strategyInstance) { +// strategyInstance = this.strategyInstanceRepository.create({ +// strategyKey, +// userId, +// clientId, +// strategyType: 'volume', +// parameters, +// status: 'running', +// startPrice, +// }); +// // await this.strategyInstanceRepository.save(strategyInstance); +// } else { +// await this.strategyInstanceRepository.update( +// { strategyKey }, +// { status: 'running', updatedAt: new Date() }, +// ); +// } + +// let tradesExecuted = 0; +// let totalPnL = 0; // Track cumulative PnL + +// const oppositeSide = (s: 'buy' | 'sell'): 'buy' | 'sell' => (s === 'buy' ? 'sell' : 'buy'); + +// const loop = async () => { +// if (tradesExecuted >= numTrades) { +// this.logger.log( +// `Volume strategy [${strategyKey}] completed after ${numTrades} trades. ` + +// `Total PnL: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)}`, +// ); +// const inst = this.strategyInstances.get(strategyKey); +// if (inst?.intervalId) clearInterval(inst.intervalId); +// this.strategyInstances.delete(strategyKey); +// await this.strategyInstanceRepository.update( +// { strategyKey }, +// { status: 'stopped', updatedAt: new Date() }, +// ); +// return; +// } + +// const tradeNumber = tradesExecuted + 1; + +// try { +// await Promise.all([ +// this.cancelAllOrders(ex1, symbol, strategyKey), +// this.cancelAllOrders(ex2, symbol, strategyKey), +// ]); + +// const [bal1, bal2] = await Promise.all([ex1.fetchBalance(), ex2.fetchBalance()]); + +// const [base, quote] = symbol.split('/'); + +// const ex1Base = Number(bal1.free[base] ?? 0); +// const ex1Quote = Number(bal1.free[quote] ?? 0); +// const ex2Base = Number(bal2.free[base] ?? 0); +// const ex2Quote = Number(bal2.free[quote] ?? 0); + +// // Use ex1 orderbook as global reference +// const book1 = await ex1.fetchOrderBook(symbol); +// const bid1 = book1.bids[0]?.[0]; +// const ask1 = book1.asks[0]?.[0]; +// if (!bid1 || !ask1) throw new Error('Empty orderbook on ex1'); + +// const globalMid = (bid1 + ask1) / 2; +// const priceForCapacity = globalMid > 0 ? globalMid : minPrice || 1e-12; + +// // ----------------------- +// // ALTERNATE MAKER SIDE (BUY/SELL) EACH TRADE +// // Trade 1 => postOnlySide +// // Trade 2 => opposite +// // Trade 3 => postOnlySide +// // ... +// // ----------------------- +// const makerSide: 'buy' | 'sell' = +// tradeNumber % 2 === 1 ? postOnlySide : oppositeSide(postOnlySide); +// const takerSide: 'buy' | 'sell' = oppositeSide(makerSide); + +// // Capacity if ex1 = maker, ex2 = taker +// const capacity1 = Math.min( +// makerSide === 'buy' ? ex1Quote / priceForCapacity : ex1Base, +// makerSide === 'buy' ? ex2Base : ex2Quote / priceForCapacity, +// ); + +// // Capacity if ex2 = maker, ex1 = taker +// const capacity2 = Math.min( +// makerSide === 'buy' ? ex2Quote / priceForCapacity : ex2Base, +// makerSide === 'buy' ? ex1Base : ex1Quote / priceForCapacity, +// ); + +// let makerEx = capacity1 >= capacity2 ? ex1 : ex2; +// let takerEx = capacity1 >= capacity2 ? ex2 : ex1; +// let maxCapacity = capacity1 >= capacity2 ? capacity1 : capacity2; + +// if (!maxCapacity || maxCapacity <= 0 || maxCapacity < minAmt) { +// this.logger.warn( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: insufficient combined balance. ` + +// `ex1Base=${ex1Base.toFixed(8)} ex1Quote=${ex1Quote.toFixed(8)} ex2Base=${ex2Base.toFixed( +// 8, +// )} ex2Quote=${ex2Quote.toFixed(8)}`, +// ); +// return; +// } + +// // Maker orderbook (reuse ex1 book if makerEx is ex1) +// const makerBook = makerEx === ex1 ? book1 : await makerEx.fetchOrderBook(symbol); +// const makerBid = makerBook.bids[0]?.[0]; +// const makerAsk = makerBook.asks[0]?.[0]; +// if (!makerBid || !makerAsk) throw new Error(`Empty orderbook on maker exchange ${makerEx.id}`); + +// const mid = (makerBid + makerAsk) / 2; +// const makerRawPrice = Math.max(mid, minPrice || 1e-12); +// const makerPrice = priceToPrec( +// makerRawPrice * (1 + Math.random() * 0.0007 * (Math.random() < 0.5 ? -1 : 1)), +// ); + +// let rawAmt = Math.min(baseTradeAmount, maxCapacity) * 0.99; +// let amount = amtToPrec(rawAmt); + +// if (!amount || amount <= 0 || amount < minAmt) { +// this.logger.warn( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: computed amount too small. ` + +// `amount=${amount} minAmt=${minAmt} maxCapacity=${maxCapacity}`, +// ); +// return; +// } + +// // Helper to recompute capacity after switching maker/taker +// const computeCapacity = (me: ccxt.Exchange, te: ccxt.Exchange) => { +// const bMaker = me === ex1 ? bal1 : bal2; +// const bTaker = te === ex1 ? bal1 : bal2; + +// const mBase = Number(bMaker.free[base] ?? 0); +// const mQuote = Number(bMaker.free[quote] ?? 0); +// const tBase = Number(bTaker.free[base] ?? 0); +// const tQuote = Number(bTaker.free[quote] ?? 0); + +// const mMax = makerSide === 'buy' ? mQuote / priceForCapacity : mBase; +// const tMax = makerSide === 'buy' ? tBase : tQuote / priceForCapacity; + +// return Math.min(mMax, tMax); +// }; + +// let makerOrder: any; +// let takerOrder: any; +// let lastTakerPrice: number | undefined; + +// // ----------------------- +// // MAKER ORDER (with fallback) +// // ----------------------- +// try { +// makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { +// postOnly: true, +// }); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Maker order placed: ${makerOrder.id}`, +// ); +// } catch (e: any) { +// this.logger.warn( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: maker failed on ${makerEx.id}: ${e.message}. ` + +// `Switching maker/taker and recomputing amount.`, +// ); + +// // Swap roles +// const newMaker = makerEx === ex1 ? ex2 : ex1; +// const newTaker = makerEx === ex1 ? ex1 : ex2; +// makerEx = newMaker; +// takerEx = newTaker; + +// const cap = computeCapacity(makerEx, takerEx); +// if (!cap || cap <= 0 || cap < minAmt) { +// throw new Error(`Alternate maker/taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); +// } + +// const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); +// if (!newAmt || newAmt <= 0 || newAmt < minAmt) { +// throw new Error(`Alternate maker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); +// } + +// amount = newAmt; + +// makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { +// postOnly: true, +// }); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate maker order placed: ${makerOrder.id}`, +// ); +// } + +// // ----------------------- +// // 30ms SAFETY DELAY +// // ----------------------- +// await new Promise((resolve) => setTimeout(resolve, 30)); + +// // ----------------------- +// // TAKER ORDER (LIMIT + IOC, with fallback) +// // ----------------------- +// try { +// const takerLimitPrice = makerPrice; +// lastTakerPrice = takerLimitPrice + takerLimitPrice * 0.0001; + +// takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { +// timeInForce: 'IOC', +// }); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Taker order placed: ${takerOrder.id}`, +// ); +// } catch (e: any) { +// this.logger.warn( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: taker failed on ${takerEx.id}: ${e.message}. ` + +// `Switching taker and recomputing amount.`, +// ); + +// const newTaker = takerEx === ex1 ? ex2 : ex1; +// takerEx = newTaker; + +// const cap = computeCapacity(makerEx, takerEx); +// if (!cap || cap <= 0 || cap < minAmt) { +// try { +// if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); +// } catch (_) {} +// throw new Error(`Alternate taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); +// } + +// const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); +// if (!newAmt || newAmt <= 0 || newAmt < minAmt) { +// try { +// if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); +// } catch (_) {} +// throw new Error(`Alternate taker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); +// } + +// amount = newAmt; + +// const takerLimitPrice = makerPrice; +// lastTakerPrice = takerLimitPrice; + +// takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { +// timeInForce: 'IOC', +// }); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate taker order placed: ${takerOrder.id}`, +// ); +// } + +// // ----------------------- +// // LOG + FILL STATUS + PNL TRACKING +// // ----------------------- +// await new Promise((resolve) => setTimeout(resolve, 200)); // Brief delay for order status update + +// const [makerRes, takerRes] = await Promise.all([ +// makerEx.fetchOrder(makerOrder.id, symbol), +// takerEx.fetchOrder(takerOrder.id, symbol), +// ]); + +// const makerFilled = makerRes.filled ?? 0; +// const takerFilled = takerRes.filled ?? 0; +// const makerAvgPrice = makerRes.average ?? makerPrice; +// const takerAvgPrice = takerRes.average ?? (lastTakerPrice ?? makerPrice); + +// // Calculate PnL +// let tradePnL = 0; +// if (makerFilled > 0 && takerFilled > 0) { +// const filledAmount = Math.min(makerFilled, takerFilled); + +// if (makerSide === 'buy') { +// // We bought at makerAvgPrice and sold at takerAvgPrice +// tradePnL = (takerAvgPrice - makerAvgPrice) * filledAmount; +// } else { +// // We sold at makerAvgPrice and bought at takerAvgPrice +// tradePnL = (makerAvgPrice - takerAvgPrice) * filledAmount; +// } + +// totalPnL += tradePnL; +// } + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + +// `Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} ` + +// `status=${makerRes.status} filled=${makerFilled}/${amount} avgPrice=${makerAvgPrice}`, +// ); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + +// `Taker ${takerSide.toUpperCase()} ${amount} @ ${lastTakerPrice ?? 'N/A'} on ${takerEx.id} ` + +// `status=${takerRes.status} filled=${takerFilled}/${amount} avgPrice=${takerAvgPrice}`, +// ); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + +// `PnL: ${tradePnL >= 0 ? '+' : ''}${tradePnL.toFixed(8)} ${quote} | ` + +// `Cumulative: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)} ${quote}`, +// ); + +// tradesExecuted++; +// } catch (err: any) { +// this.logger.error( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: Error in trade cycle: ${err.message}`, +// ); +// } +// }; + +// const intervalId = setInterval(loop, Math.max(baseIntervalTime, 1) * 1000); +// this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); + +// this.logger.log( +// `Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}. ` + +// `postOnlySide=${postOnlySide} numTrades=${numTrades}`, +// ); +// } catch (e: any) { +// this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${e.message}`); +// } +// } +// async executeVolumeStrategy( +// exchangeName: string, +// symbol: string, +// baseIncrementPercentage: number, +// baseIntervalTime: number, +// baseTradeAmount: number, +// numTrades: number, +// userId: string, +// clientId: string, +// pricePushRate: number, +// postOnlySide: 'buy' | 'sell', +// ) { +// const strategyKey = createStrategyKey({ +// type: 'volume', +// user_id: userId, +// client_id: clientId, +// }); + +// try { +// let strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey } }); + +// const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); +// const ex2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); + +// await Promise.all([ex1.loadMarkets(), ex2.loadMarkets()]); + +// const market = ex1.market(symbol); +// if (!market) throw new Error(`Market not found for ${symbol} on ${ex1.id}`); + +// const priceToPrec = (p: number) => Number(ex1.priceToPrecision(symbol, p)); +// const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); + +// const minAmt = market.limits?.amount?.min ?? 0; +// const minPrice = market.limits?.price?.min ?? 0; + +// const startTicker = await ex1.fetchTicker(symbol); +// const startPrice = Number(startTicker.last); + +// const parameters = { +// exchangeName, +// symbol, +// baseIncrementPercentage, +// baseIntervalTime, +// baseTradeAmount, +// numTrades, +// userId, +// clientId, +// pricePushRate, +// postOnlySide, +// }; + +// if (!strategyInstance) { +// strategyInstance = this.strategyInstanceRepository.create({ +// strategyKey, +// userId, +// clientId, +// strategyType: 'volume', +// parameters, +// status: 'running', +// startPrice, +// }); +// // await this.strategyInstanceRepository.save(strategyInstance); +// } else { +// await this.strategyInstanceRepository.update( +// { strategyKey }, +// { status: 'running', updatedAt: new Date() }, +// ); +// } + +// let tradesExecuted = 0; +// let totalPnL = 0; // Track cumulative PnL + +// const oppositeSide = (s: 'buy' | 'sell'): 'buy' | 'sell' => (s === 'buy' ? 'sell' : 'buy'); + +// const loop = async () => { +// if (tradesExecuted >= numTrades) { +// this.logger.log( +// `Volume strategy [${strategyKey}] completed after ${numTrades} trades. ` + +// `Total PnL: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)}`, +// ); +// const inst = this.strategyInstances.get(strategyKey); +// if (inst?.intervalId) clearInterval(inst.intervalId); +// this.strategyInstances.delete(strategyKey); +// await this.strategyInstanceRepository.update( +// { strategyKey }, +// { status: 'stopped', updatedAt: new Date() }, +// ); +// return; +// } + +// const tradeNumber = tradesExecuted + 1; + +// try { +// await Promise.all([ +// this.cancelAllOrders(ex1, symbol, strategyKey), +// this.cancelAllOrders(ex2, symbol, strategyKey), +// ]); + +// const [bal1, bal2] = await Promise.all([ex1.fetchBalance(), ex2.fetchBalance()]); + +// const [base, quote] = symbol.split('/'); + +// const ex1Base = Number(bal1.free[base] ?? 0); +// const ex1Quote = Number(bal1.free[quote] ?? 0); +// const ex2Base = Number(bal2.free[base] ?? 0); +// const ex2Quote = Number(bal2.free[quote] ?? 0); + +// // Use ex1 orderbook as global reference +// const book1 = await ex1.fetchOrderBook(symbol); +// const bid1 = book1.bids[0]?.[0]; +// const ask1 = book1.asks[0]?.[0]; +// if (!bid1 || !ask1) throw new Error('Empty orderbook on ex1'); + +// const globalMid = (bid1 + ask1) / 2; +// const priceForCapacity = globalMid > 0 ? globalMid : minPrice || 1e-12; + +// // ----------------------- +// // ALTERNATE MAKER SIDE (BUY/SELL) EACH TRADE +// // Trade 1 => postOnlySide +// // Trade 2 => opposite +// // Trade 3 => postOnlySide +// // ... +// // ----------------------- +// const makerSide: 'buy' | 'sell' = +// tradeNumber % 2 === 1 ? postOnlySide : oppositeSide(postOnlySide); +// const takerSide: 'buy' | 'sell' = oppositeSide(makerSide); + +// // Capacity if ex1 = maker, ex2 = taker +// const capacity1 = Math.min( +// makerSide === 'buy' ? ex1Quote / priceForCapacity : ex1Base, +// makerSide === 'buy' ? ex2Base : ex2Quote / priceForCapacity, +// ); + +// // Capacity if ex2 = maker, ex1 = taker +// const capacity2 = Math.min( +// makerSide === 'buy' ? ex2Quote / priceForCapacity : ex2Base, +// makerSide === 'buy' ? ex1Base : ex1Quote / priceForCapacity, +// ); + +// let makerEx = capacity1 >= capacity2 ? ex1 : ex2; +// let takerEx = capacity1 >= capacity2 ? ex2 : ex1; +// let maxCapacity = capacity1 >= capacity2 ? capacity1 : capacity2; + +// if (!maxCapacity || maxCapacity <= 0 || maxCapacity < minAmt) { +// this.logger.warn( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: insufficient combined balance. ` + +// `ex1Base=${ex1Base.toFixed(8)} ex1Quote=${ex1Quote.toFixed(8)} ex2Base=${ex2Base.toFixed( +// 8, +// )} ex2Quote=${ex2Quote.toFixed(8)}`, +// ); +// return; +// } + +// // Maker orderbook (reuse ex1 book if makerEx is ex1) +// const makerBook = makerEx === ex1 ? book1 : await makerEx.fetchOrderBook(symbol); +// const makerBid = makerBook.bids[0]?.[0]; +// const makerAsk = makerBook.asks[0]?.[0]; +// if (!makerBid || !makerAsk) throw new Error(`Empty orderbook on maker exchange ${makerEx.id}`); + +// // ----------------------- +// // MAKER PRICE: within 7% of spread, excluding 2% +// // - BUY: top 15% of spread, excluding top 5% (near ask) +// // - SELL: bottom 15% of spread, excluding bottom 5% (near bid) +// // ----------------------- +// const spread = makerAsk - makerBid; +// const segPct = 0.15; +// const exclPct = 0.5; + +// const safeMinP = minPrice || 1e-12; + +// let makerRawPrice: number; +// if (!spread || spread <= 0) { +// const mid = (makerBid + makerAsk) / 2; +// makerRawPrice = Math.max(mid, safeMinP); +// } else { +// if (makerSide === 'buy') { +// const low = makerAsk - spread * segPct; // ask - 7% +// const high = makerAsk - spread * exclPct; // ask - 2% +// makerRawPrice = low + Math.random() * (high - low); +// } else { +// const low = makerBid + spread * exclPct; // bid + 2% +// const high = makerBid + spread * segPct; // bid + 7% +// makerRawPrice = low + Math.random() * (high - low); +// } +// makerRawPrice = Math.max(makerRawPrice, safeMinP); +// } + +// const makerPrice = priceToPrec(makerRawPrice); + +// let rawAmt = Math.min(baseTradeAmount, maxCapacity) * 0.99; +// let amount = amtToPrec(rawAmt); + +// if (!amount || amount <= 0 || amount < minAmt) { +// this.logger.warn( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: computed amount too small. ` + +// `amount=${amount} minAmt=${minAmt} maxCapacity=${maxCapacity}`, +// ); +// return; +// } + +// // Helper to recompute capacity after switching maker/taker +// const computeCapacity = (me: ccxt.Exchange, te: ccxt.Exchange) => { +// const bMaker = me === ex1 ? bal1 : bal2; +// const bTaker = te === ex1 ? bal1 : bal2; + +// const mBase = Number(bMaker.free[base] ?? 0); +// const mQuote = Number(bMaker.free[quote] ?? 0); +// const tBase = Number(bTaker.free[base] ?? 0); +// const tQuote = Number(bTaker.free[quote] ?? 0); + +// const mMax = makerSide === 'buy' ? mQuote / priceForCapacity : mBase; +// const tMax = makerSide === 'buy' ? tBase : tQuote / priceForCapacity; + +// return Math.min(mMax, tMax); +// }; + +// let makerOrder: any; +// let takerOrder: any; +// let lastTakerPrice: number | undefined; + +// // ----------------------- +// // MAKER ORDER (with fallback) +// // ----------------------- +// try { +// makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { +// postOnly: true, +// }); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Maker order placed: ${makerOrder.id}`, +// ); +// } catch (e: any) { +// this.logger.warn( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: maker failed on ${makerEx.id}: ${e.message}. ` + +// `Switching maker/taker and recomputing amount.`, +// ); + +// // Swap roles +// const newMaker = makerEx === ex1 ? ex2 : ex1; +// const newTaker = makerEx === ex1 ? ex1 : ex2; +// makerEx = newMaker; +// takerEx = newTaker; + +// const cap = computeCapacity(makerEx, takerEx); +// if (!cap || cap <= 0 || cap < minAmt) { +// throw new Error(`Alternate maker/taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); +// } + +// const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); +// if (!newAmt || newAmt <= 0 || newAmt < minAmt) { +// throw new Error(`Alternate maker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); +// } + +// amount = newAmt; + +// makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { +// postOnly: true, +// }); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate maker order placed: ${makerOrder.id}`, +// ); +// } + +// // ----------------------- +// // 30ms SAFETY DELAY +// // ----------------------- +// await new Promise((resolve) => setTimeout(resolve, 30)); + +// // ----------------------- +// // TAKER ORDER (LIMIT + IOC, with fallback) +// // ----------------------- +// try { +// const takerLimitPrice = makerPrice; +// lastTakerPrice = takerLimitPrice + takerLimitPrice * 0.0001; + +// takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { +// timeInForce: 'IOC', +// }); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Taker order placed: ${takerOrder.id}`, +// ); +// } catch (e: any) { +// this.logger.warn( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: taker failed on ${takerEx.id}: ${e.message}. ` + +// `Switching taker and recomputing amount.`, +// ); + +// const newTaker = takerEx === ex1 ? ex2 : ex1; +// takerEx = newTaker; + +// const cap = computeCapacity(makerEx, takerEx); +// if (!cap || cap <= 0 || cap < minAmt) { +// try { +// if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); +// } catch (_) {} +// throw new Error(`Alternate taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); +// } + +// const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); +// if (!newAmt || newAmt <= 0 || newAmt < minAmt) { +// try { +// if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); +// } catch (_) {} +// throw new Error(`Alternate taker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); +// } + +// amount = newAmt; + +// const takerLimitPrice = makerPrice; +// lastTakerPrice = takerLimitPrice; + +// takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { +// timeInForce: 'IOC', +// }); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate taker order placed: ${takerOrder.id}`, +// ); +// } + +// // ----------------------- +// // LOG + FILL STATUS + PNL TRACKING +// // ----------------------- +// await new Promise((resolve) => setTimeout(resolve, 200)); // Brief delay for order status update + +// const [makerRes, takerRes] = await Promise.all([ +// makerEx.fetchOrder(makerOrder.id, symbol), +// takerEx.fetchOrder(takerOrder.id, symbol), +// ]); + +// const makerFilled = makerRes.filled ?? 0; +// const takerFilled = takerRes.filled ?? 0; +// const makerAvgPrice = makerRes.average ?? makerPrice; +// const takerAvgPrice = takerRes.average ?? (lastTakerPrice ?? makerPrice); + +// // Calculate PnL +// let tradePnL = 0; +// if (makerFilled > 0 && takerFilled > 0) { +// const filledAmount = Math.min(makerFilled, takerFilled); + +// if (makerSide === 'buy') { +// // We bought at makerAvgPrice and sold at takerAvgPrice +// tradePnL = (takerAvgPrice - makerAvgPrice) * filledAmount; +// } else { +// // We sold at makerAvgPrice and bought at takerAvgPrice +// tradePnL = (makerAvgPrice - takerAvgPrice) * filledAmount; +// } + +// totalPnL += tradePnL; +// } + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + +// `Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} ` + +// `status=${makerRes.status} filled=${makerFilled}/${amount} avgPrice=${makerAvgPrice}`, +// ); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + +// `Taker ${takerSide.toUpperCase()} ${amount} @ ${lastTakerPrice ?? 'N/A'} on ${takerEx.id} ` + +// `status=${takerRes.status} filled=${takerFilled}/${amount} avgPrice=${takerAvgPrice}`, +// ); + +// this.logger.log( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + +// `PnL: ${tradePnL >= 0 ? '+' : ''}${tradePnL.toFixed(8)} ${quote} | ` + +// `Cumulative: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)} ${quote}`, +// ); + +// tradesExecuted++; +// } catch (err: any) { +// this.logger.error( +// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: Error in trade cycle: ${err.message}`, +// ); +// } +// }; + +// const intervalId = setInterval(loop, Math.max(baseIntervalTime, 1) * 1000); +// this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); + +// this.logger.log( +// `Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}. ` + +// `postOnlySide=${postOnlySide} numTrades=${numTrades}`, +// ); +// } catch (e: any) { +// this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${e.message}`); +// } +// } + /** * Cancel leftover orders for a given exchange, symbol, and strategyKey. - */ + */pm2 private async cancelAllOrders( exchange: ccxt.Exchange, pair: string, diff --git a/server/src/modules/trade/trade.service.ts b/server/src/modules/trade/trade.service.ts index b34a9f0b..14f3b7ee 100644 --- a/server/src/modules/trade/trade.service.ts +++ b/server/src/modules/trade/trade.service.ts @@ -79,7 +79,7 @@ export class TradeService { side, amount, ); - this.logger.log(`Market trade executed`, order.toString()); + this.logger.log(`Market trade executed ${order.amount} @ ${order.average}`); await this.tradeRepository.createTrade({ userId, clientId, @@ -121,7 +121,7 @@ export class TradeService { amount, price, ); - this.logger.log(`Limit trade executed: ${JSON.stringify(order)}`); + this.logger.log(`Limit trade executed: ${JSON.stringify(order.amount)} @ ${JSON.stringify(order.price)}`); await this.tradeRepository.createTrade({ userId, From 93768fe5cec59799dac92256b48a02c3745ef6cb Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Tue, 24 Feb 2026 10:34:00 +0000 Subject: [PATCH 20/21] fix lint and syntax --- server/src/common/helpers/key-utils.ts | 56 +- .../migrations/1732716866030-initialSetup.ts | 2 +- .../exchangeInit/exchangeInit.service.ts | 97 +- .../mixin/exchange/exchange.service.ts | 2 +- server/src/modules/strategy/dex-volume.dto.ts | 39 +- .../strategy/dex-volume.strategy.service.ts | 276 +- .../solana-volume-strategy.controller.ts | 28 +- .../solana-volume-strategy.service.ts | 245 +- .../solana-volume/solana-volume.types.ts | 10 +- .../solana-volume/start-volume.dto.ts | 28 +- .../src/modules/strategy/strategy.module.ts | 12 +- .../src/modules/strategy/strategy.service.ts | 2270 +++++++++-------- server/src/modules/trade/trade.service.ts | 10 +- 13 files changed, 1740 insertions(+), 1335 deletions(-) diff --git a/server/src/common/helpers/key-utils.ts b/server/src/common/helpers/key-utils.ts index a74091a4..e20eced1 100644 --- a/server/src/common/helpers/key-utils.ts +++ b/server/src/common/helpers/key-utils.ts @@ -7,31 +7,33 @@ * - base64 string */ export function parsePrivateKeyToUint8Array(input: string): Uint8Array { - if (!input) throw new Error('Empty private key'); - - const s = input.trim(); - - // JSON array (solana-keygen) - if (s.startsWith('[') && s.endsWith(']')) { - const arr = JSON.parse(s); - if (!Array.isArray(arr)) throw new Error('Invalid JSON array for private key'); - return new Uint8Array(arr.map((n: unknown) => Number(n))); - } - - // hex (prefer hex before base64 to avoid mis-parsing pure hex as base64) - const hex = s.toLowerCase().replace(/^0x/, ''); - if (/^[0-9a-f]+$/.test(hex) && hex.length % 2 === 0) { - return new Uint8Array(Buffer.from(hex, 'hex')); - } - - // base64 - try { - const buf = Buffer.from(s, 'base64'); - if (buf.length > 0) return new Uint8Array(buf); - } catch (_) { - // fallthrough - } - - throw new Error('Unsupported private key format. Use solana-keygen JSON array, hex, or base64.'); + if (!input) throw new Error('Empty private key'); + + const s = input.trim(); + + // JSON array (solana-keygen) + if (s.startsWith('[') && s.endsWith(']')) { + const arr = JSON.parse(s); + if (!Array.isArray(arr)) + throw new Error('Invalid JSON array for private key'); + return new Uint8Array(arr.map((n: unknown) => Number(n))); + } + + // hex (prefer hex before base64 to avoid mis-parsing pure hex as base64) + const hex = s.toLowerCase().replace(/^0x/, ''); + if (/^[0-9a-f]+$/.test(hex) && hex.length % 2 === 0) { + return new Uint8Array(Buffer.from(hex, 'hex')); } - \ No newline at end of file + + // base64 + try { + const buf = Buffer.from(s, 'base64'); + if (buf.length > 0) return new Uint8Array(buf); + } catch (_) { + // fallthrough + } + + throw new Error( + 'Unsupported private key format. Use solana-keygen JSON array, hex, or base64.', + ); +} diff --git a/server/src/database/migrations/1732716866030-initialSetup.ts b/server/src/database/migrations/1732716866030-initialSetup.ts index 1448324f..c784a6ed 100644 --- a/server/src/database/migrations/1732716866030-initialSetup.ts +++ b/server/src/database/migrations/1732716866030-initialSetup.ts @@ -414,4 +414,4 @@ export class InitialSetup1727390108592 implements MigrationInterface { DROP TABLE "user_balance" `); } -} \ No newline at end of file +} diff --git a/server/src/modules/exchangeInit/exchangeInit.service.ts b/server/src/modules/exchangeInit/exchangeInit.service.ts index 940a8e96..5d7a8407 100644 --- a/server/src/modules/exchangeInit/exchangeInit.service.ts +++ b/server/src/modules/exchangeInit/exchangeInit.service.ts @@ -133,7 +133,9 @@ export class ExchangeInitService { `[${exName}:${label}] request time issue → clock skew. Raw: ${msg}`, ); } else { - this.logger.error(`[${exName}:${label}] private-call check failed: ${msg}`); + this.logger.error( + `[${exName}:${label}] private-call check failed: ${msg}`, + ); } } } @@ -148,18 +150,34 @@ export class ExchangeInitService { { name: 'gate', class: (ccxt as any).pro.gate, defaultType: 'spot' }, { name: 'mexc', class: (ccxt as any).pro.mexc, defaultType: 'spot' }, { name: 'xt', class: (ccxt as any).pro.xt, defaultType: 'spot' }, - { name: 'binance', class: (ccxt as any).pro.binance, defaultType: 'spot' }, + { + name: 'binance', + class: (ccxt as any).pro.binance, + defaultType: 'spot', + }, { name: 'bybit', class: (ccxt as any).pro.bybit, defaultType: 'spot' }, { name: 'lbank', class: (ccxt as any).pro.lbank, defaultType: 'spot' }, - { name: 'bitmart', class: (ccxt as any).pro.bitmart, defaultType: 'spot' }, + { + name: 'bitmart', + class: (ccxt as any).pro.bitmart, + defaultType: 'spot', + }, { name: 'bigone', class: (ccxt as any).bigone, defaultType: 'spot' }, { name: 'p2b', class: (ccxt as any).pro.p2b, defaultType: 'spot' }, { name: 'probit', class: (ccxt as any).pro.probit, defaultType: 'spot' }, - { name: 'digifinex', class: (ccxt as any).digifinex, defaultType: 'spot' }, + { + name: 'digifinex', + class: (ccxt as any).digifinex, + defaultType: 'spot', + }, // ✅ Hyperliquid + testnet (sandbox mode) // Prefer CCXT Pro if present, fallback to REST class if not. - { name: 'hyperliquid', class: ((ccxt as any).pro?.hyperliquid ?? (ccxt as any).hyperliquid), defaultType: 'swap' }, + { + name: 'hyperliquid', + class: (ccxt as any).pro?.hyperliquid ?? (ccxt as any).hyperliquid, + defaultType: 'swap', + }, ]; await Promise.all( @@ -175,46 +193,70 @@ export class ExchangeInitService { { label: 'default', apiKey: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_API_KEY`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_API_KEY`, ), secret: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_SECRET`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_SECRET`, ), password: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_PASSWORD`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_PASSWORD`, ), // OKX etc. walletAddress: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_WALLET_ADDRESS`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_WALLET_ADDRESS`, ), // Hyperliquid :contentReference[oaicite:4]{index=4} }, { label: 'account2', apiKey: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_API_KEY_2`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_API_KEY_2`, ), secret: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_SECRET_2`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_SECRET_2`, ), password: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_PASSWORD_2`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_PASSWORD_2`, ), walletAddress: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_WALLET_ADDRESS_2`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_WALLET_ADDRESS_2`, ), // Hyperliquid }, { label: 'read-only', apiKey: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_API_KEY_READ_ONLY`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_API_KEY_READ_ONLY`, ), secret: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_SECRET_READ_ONLY`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_SECRET_READ_ONLY`, ), password: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_PASSWORD_READ_ONLY`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_PASSWORD_READ_ONLY`, ), walletAddress: this.envTrim( - `${cfg.name.toUpperCase()}${isTestnet ? '_TESTNET' : ''}_WALLET_ADDRESS_READ_ONLY`, + `${cfg.name.toUpperCase()}${ + isTestnet ? '_TESTNET' : '' + }_WALLET_ADDRESS_READ_ONLY`, ), // Hyperliquid }, ]; @@ -253,7 +295,9 @@ export class ExchangeInitService { this.logger.log(`[${exName}:${acct.label}] signIn OK.`); } catch (error: any) { this.logger.error( - `[${exName}:${acct.label}] signIn failed: ${error?.message ?? error}`, + `[${exName}:${acct.label}] signIn failed: ${ + error?.message ?? error + }`, ); } } @@ -269,7 +313,9 @@ export class ExchangeInitService { this.logger.log(`[${exName}:${acct.label}] initialized.`); } catch (error: any) { this.logger.error( - `Failed to initialize [${exName}:${acct.label}]: ${error?.message ?? error}`, + `Failed to initialize [${exName}:${acct.label}]: ${ + error?.message ?? error + }`, ); } }), @@ -310,7 +356,9 @@ export class ExchangeInitService { this.logger.log(`ProBit ${label} re-signed in successfully.`); } catch (error: any) { this.logger.error( - `ProBit ${label} keep-alive signIn failed: ${error?.message ?? error}`, + `ProBit ${label} keep-alive signIn failed: ${ + error?.message ?? error + }`, ); } } @@ -378,7 +426,10 @@ export class ExchangeInitService { } const params = network ? { network } : {}; - const addressInfo = await exchange.fetchDepositAddress(tokenSymbol, params); + const addressInfo = await exchange.fetchDepositAddress( + tokenSymbol, + params, + ); if (!addressInfo || !addressInfo.address) { throw new InternalServerErrorException( @@ -389,7 +440,9 @@ export class ExchangeInitService { return addressInfo.address; } catch (error: any) { this.logger.error( - `Error fetching deposit address for ${tokenSymbol} on ${network} from ${exchangeName}: ${error?.message ?? error}`, + `Error fetching deposit address for ${tokenSymbol} on ${network} from ${exchangeName}: ${ + error?.message ?? error + }`, ); throw new InternalServerErrorException('Failed to get deposit address.'); } diff --git a/server/src/modules/mixin/exchange/exchange.service.ts b/server/src/modules/mixin/exchange/exchange.service.ts index f3ee444b..ea8c87e9 100644 --- a/server/src/modules/mixin/exchange/exchange.service.ts +++ b/server/src/modules/mixin/exchange/exchange.service.ts @@ -88,7 +88,7 @@ import * as ccxt from 'ccxt'; import BigNumber from 'bignumber.js'; -import { Cron } from '@nestjs/schedule'; +// import { Cron } from '@nestjs/schedule'; import { Injectable } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { diff --git a/server/src/modules/strategy/dex-volume.dto.ts b/server/src/modules/strategy/dex-volume.dto.ts index cdf6e552..e6348507 100644 --- a/server/src/modules/strategy/dex-volume.dto.ts +++ b/server/src/modules/strategy/dex-volume.dto.ts @@ -16,7 +16,10 @@ import { import { DexId } from 'src/defi/addresses'; export class DexVolumeStrategyDto { - @ApiProperty({ description: 'User ID initiating the strategy', example: 'user_123' }) + @ApiProperty({ + description: 'User ID initiating the strategy', + example: 'user_123', + }) @IsString() userId!: string; @@ -40,21 +43,28 @@ export class DexVolumeStrategyDto { @IsPositive() chainId!: number; - @ApiProperty({ description: 'RPC URL for provider', example: 'https://mainnet.infura.io/v3/' }) + @ApiProperty({ + description: 'RPC URL for provider', + example: 'https://mainnet.infura.io/v3/', + }) @IsString() rpcUrl!: string; @ApiProperty({ description: 'Primary signer private key (0x-prefixed)', - example: '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + example: + '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', }) @IsString() - @Matches(/^0x[0-9a-fA-F]{64}$/, { message: 'signerPk1 must be a 0x-prefixed 32-byte hex string' }) + @Matches(/^0x[0-9a-fA-F]{64}$/, { + message: 'signerPk1 must be a 0x-prefixed 32-byte hex string', + }) signerPk1!: string; @ApiPropertyOptional({ description: 'Optional secondary signer private key (0x-prefixed)', - example: '0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', + example: + '0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', }) @IsOptional() @IsString() @@ -63,11 +73,17 @@ export class DexVolumeStrategyDto { }) signerPk2?: string; - @ApiProperty({ description: 'Token in (ERC-20 address)', example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' }) + @ApiProperty({ + description: 'Token in (ERC-20 address)', + example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + }) @IsString() tokenIn!: string; - @ApiProperty({ description: 'Token out (ERC-20 address)', example: '0xdAC17F958D2ee523a2206206994597C13D831ec7' }) + @ApiProperty({ + description: 'Token out (ERC-20 address)', + example: '0xdAC17F958D2ee523a2206206994597C13D831ec7', + }) @IsString() tokenOut!: string; @@ -102,7 +118,11 @@ export class DexVolumeStrategyDto { @Max(100) amountJitterPct?: number; - @ApiProperty({ description: 'How many cycles to run', example: 50, minimum: 1 }) + @ApiProperty({ + description: 'How many cycles to run', + example: 50, + minimum: 1, + }) @Type(() => Number) @IsInt() @IsPositive() @@ -166,7 +186,8 @@ export class DexVolumeStrategyDto { maxGasCostInQuote?: number; @ApiPropertyOptional({ - description: 'Native gas token price in quote token (e.g., ETH priced in USDC)', + description: + 'Native gas token price in quote token (e.g., ETH priced in USDC)', example: 3200.5, minimum: 0, }) diff --git a/server/src/modules/strategy/dex-volume.strategy.service.ts b/server/src/modules/strategy/dex-volume.strategy.service.ts index ad363420..4a3b2208 100644 --- a/server/src/modules/strategy/dex-volume.strategy.service.ts +++ b/server/src/modules/strategy/dex-volume.strategy.service.ts @@ -32,12 +32,27 @@ export class DexVolumeStrategyService { async execute(dto: DexVolumeStrategyDto) { const { - userId, clientId, dexId, - chainId, rpcUrl, signerPk1, signerPk2, - tokenIn, tokenOut, feeTier, - baseAmountIn, amountJitterPct = 5, numCycles, baseIntervalSec, intervalJitterPct = 20, - slippageBps, maxPriceImpactPct, maxGasCostInQuote, gasTokenPriceInQuote, - deadlineSec = 90, dryRun = false, + userId, + clientId, + dexId, + chainId, + rpcUrl, + signerPk1, + signerPk2, + tokenIn, + tokenOut, + feeTier, + baseAmountIn, + amountJitterPct = 5, + numCycles, + baseIntervalSec, + intervalJitterPct = 20, + slippageBps, + maxPriceImpactPct, + maxGasCostInQuote, + gasTokenPriceInQuote, + deadlineSec = 90, + dryRun = false, } = dto; const adapter = this.adapters.get(dexId); @@ -49,7 +64,11 @@ export class DexVolumeStrategyService { const signer1 = new ethers.Wallet(signerPk1, provider); const signer2 = signerPk2 ? new ethers.Wallet(signerPk2, provider) : null; - const strategyKey = createStrategyKey({ type: 'dexVolume', user_id: userId, client_id: clientId }); + const strategyKey = createStrategyKey({ + type: 'dexVolume', + user_id: userId, + client_id: clientId, + }); await this.strategyRepo.save( this.strategyRepo.create({ @@ -66,9 +85,17 @@ export class DexVolumeStrategyService { const decIn = await readDecimals(provider, tokenIn); const decOut = await readDecimals(provider, tokenOut); - const poolAddr = await adapter.getPool(provider, chainId, tokenIn, tokenOut, feeTier); + const poolAddr = await adapter.getPool( + provider, + chainId, + tokenIn, + tokenOut, + feeTier, + ); if (poolAddr === ethers.constants.AddressZero) { - throw new Error(`No pool for ${tokenIn}/${tokenOut} fee ${feeTier} on chain ${chainId}`); + throw new Error( + `No pool for ${tokenIn}/${tokenOut} fee ${feeTier} on chain ${chainId}`, + ); } const poolC = new ethers.Contract(poolAddr, UNISWAP_V3_POOL_ABI, provider); @@ -80,7 +107,10 @@ export class DexVolumeStrategyService { if (executed >= numCycles) { this.logger.log(`[${strategyKey}] Completed ${numCycles} cycles.`); this.loops.delete(strategyKey); - await this.strategyRepo.update({ strategyKey }, { status: 'stopped', updatedAt: new Date() }); + await this.strategyRepo.update( + { strategyKey }, + { status: 'stopped', updatedAt: new Date() }, + ); return; } @@ -92,13 +122,26 @@ export class DexVolumeStrategyService { const sqrtPriceX96 = slot[0] as BigNumber; const spotOutPerIn = priceFromSqrtX96(sqrtPriceX96, decIn, decOut); - const amtInHuman = clampJitter(parseFloat(baseAmountIn), amountJitterPct); - const amountIn = ethers.utils.parseUnits(amtInHuman.toFixed(decIn), decIn); + const amtInHuman = clampJitter( + parseFloat(baseAmountIn), + amountJitterPct, + ); + const amountIn = ethers.utils.parseUnits( + amtInHuman.toFixed(decIn), + decIn, + ); // Quote A->B - const { amountOut } = await adapter.quoteExactInputSingle(provider, chainId, { - tokenIn, tokenOut, fee: feeTier, amountIn, - }); + const { amountOut } = await adapter.quoteExactInputSingle( + provider, + chainId, + { + tokenIn, + tokenOut, + fee: feeTier, + amountIn, + }, + ); if (amountOut.lte(0)) { this.logger.warn(`[${strategyKey}] Quote returned 0; skipping.`); return scheduleNext(); @@ -108,9 +151,14 @@ export class DexVolumeStrategyService { parseFloat(ethers.utils.formatUnits(amountOut, decOut)) / parseFloat(ethers.utils.formatUnits(amountIn, decIn)); - const impactPct = Math.abs((effOutPerIn - spotOutPerIn) / spotOutPerIn) * 100; + const impactPct = + Math.abs((effOutPerIn - spotOutPerIn) / spotOutPerIn) * 100; if (impactPct > maxPriceImpactPct) { - this.logger.warn(`[${strategyKey}] Impact ${impactPct.toFixed(4)}% > cap ${maxPriceImpactPct}%. Skip.`); + this.logger.warn( + `[${strategyKey}] Impact ${impactPct.toFixed( + 4, + )}% > cap ${maxPriceImpactPct}%. Skip.`, + ); return scheduleNext(); } @@ -118,83 +166,152 @@ export class DexVolumeStrategyService { // Gas gate (optional) if (maxGasCostInQuote && gasTokenPriceInQuote) { - const gas = await adapter.estimateGasExactInputSingle(signer, chainId, { - tokenIn, tokenOut, fee: feeTier, recipient: fromAddr, deadline: this.nowUnix() + deadlineSec, - amountIn, amountOutMinimum: minOut, - }); + const gas = await adapter.estimateGasExactInputSingle( + signer, + chainId, + { + tokenIn, + tokenOut, + fee: feeTier, + recipient: fromAddr, + deadline: this.nowUnix() + deadlineSec, + amountIn, + amountOutMinimum: minOut, + }, + ); const feeData = await signer.provider!.getFeeData(); - const price = (feeData.maxFeePerGas ?? feeData.gasPrice) ?? BigNumber.from(0); + const price = + feeData.maxFeePerGas ?? feeData.gasPrice ?? BigNumber.from(0); const costNative = gas.mul(price); - const costInQuote = parseFloat(ethers.utils.formatEther(costNative)) * gasTokenPriceInQuote; + const costInQuote = + parseFloat(ethers.utils.formatEther(costNative)) * + gasTokenPriceInQuote; if (costInQuote > maxGasCostInQuote) { - this.logger.warn(`[${strategyKey}] Gas ${costInQuote.toFixed(6)} > cap ${maxGasCostInQuote}. Skip.`); + this.logger.warn( + `[${strategyKey}] Gas ${costInQuote.toFixed( + 6, + )} > cap ${maxGasCostInQuote}. Skip.`, + ); return scheduleNext(); } } // Approvals if (tokenIn !== ethers.constants.AddressZero) { - await ensureAllowance(signer, tokenIn, fromAddr, adapter.getAddresses(chainId).router, amountIn); + await ensureAllowance( + signer, + tokenIn, + fromAddr, + adapter.getAddresses(chainId).router, + amountIn, + ); } if (dryRun) { - this.logger.log(`[${strategyKey}] DRY A→B: in=${amtInHuman} out≈${ethers.utils.formatUnits(amountOut, decOut)} min=${ethers.utils.formatUnits(minOut, decOut)} impact=${impactPct.toFixed(3)}%`); + this.logger.log( + `[${strategyKey}] DRY A→B: in=${amtInHuman} out≈${ethers.utils.formatUnits( + amountOut, + decOut, + )} min=${ethers.utils.formatUnits( + minOut, + decOut, + )} impact=${impactPct.toFixed(3)}%`, + ); } else { const rcpt = await adapter.exactInputSingle(signer, chainId, { - tokenIn, tokenOut, fee: feeTier, recipient: fromAddr, deadline: this.nowUnix() + deadlineSec, - amountIn, amountOutMinimum: minOut, + tokenIn, + tokenOut, + fee: feeTier, + recipient: fromAddr, + deadline: this.nowUnix() + deadlineSec, + amountIn, + amountOutMinimum: minOut, }); - await this.orderRepo.save(this.orderRepo.create({ - userId, clientId, - exchange: `${dexId}:${chainId}`, - pair: `${tokenIn}/${tokenOut}:${feeTier}`, - side: 'buy', - amount: parseFloat(ethers.utils.formatUnits(amountIn, decIn)), - price: effOutPerIn, - orderId: rcpt.transactionHash, - executedAt: new Date(), - status: 'closed', - strategy: 'dexVolume', - })); - - this.logger.log(`[${strategyKey}] Swap A→B ok: ${rcpt.transactionHash}`); + await this.orderRepo.save( + this.orderRepo.create({ + userId, + clientId, + exchange: `${dexId}:${chainId}`, + pair: `${tokenIn}/${tokenOut}:${feeTier}`, + side: 'buy', + amount: parseFloat(ethers.utils.formatUnits(amountIn, decIn)), + price: effOutPerIn, + orderId: rcpt.transactionHash, + executedAt: new Date(), + status: 'closed', + strategy: 'dexVolume', + }), + ); + + this.logger.log( + `[${strategyKey}] Swap A→B ok: ${rcpt.transactionHash}`, + ); } // Optional immediate B->A (bounded by available balance) - const balOut = await new ethers.Contract(tokenOut, ['function balanceOf(address) view returns (uint256)'], provider).balanceOf(fromAddr); + const balOut = await new ethers.Contract( + tokenOut, + ['function balanceOf(address) view returns (uint256)'], + provider, + ).balanceOf(fromAddr); if (balOut.gt(0)) { const util = Math.min(1, clampJitter(1, amountJitterPct / 2)); const amountBack = balOut.mul(Math.round(util * 10_000)).div(10_000); const q2 = await adapter.quoteExactInputSingle(provider, chainId, { - tokenIn: tokenOut, tokenOut: tokenIn, fee: feeTier, amountIn: amountBack, + tokenIn: tokenOut, + tokenOut: tokenIn, + fee: feeTier, + amountIn: amountBack, }); const minBack = q2.amountOut.mul(10_000 - slippageBps).div(10_000); if (!dryRun) { - await ensureAllowance(signer, tokenOut, fromAddr, adapter.getAddresses(chainId).router, amountBack); + await ensureAllowance( + signer, + tokenOut, + fromAddr, + adapter.getAddresses(chainId).router, + amountBack, + ); const rcpt2 = await adapter.exactInputSingle(signer, chainId, { - tokenIn: tokenOut, tokenOut: tokenIn, fee: feeTier, - recipient: fromAddr, deadline: this.nowUnix() + deadlineSec, - amountIn: amountBack, amountOutMinimum: minBack, + tokenIn: tokenOut, + tokenOut: tokenIn, + fee: feeTier, + recipient: fromAddr, + deadline: this.nowUnix() + deadlineSec, + amountIn: amountBack, + amountOutMinimum: minBack, }); - await this.orderRepo.save(this.orderRepo.create({ - userId, clientId, - exchange: `${dexId}:${chainId}`, - pair: `${tokenOut}/${tokenIn}:${feeTier}`, - side: 'sell', - amount: parseFloat(ethers.utils.formatUnits(amountBack, decOut)), - price: 1 / (effOutPerIn || 1), - orderId: rcpt2.transactionHash, - executedAt: new Date(), - status: 'closed', - strategy: 'dexVolume', - })); - - this.logger.log(`[${strategyKey}] Swap B→A ok: ${rcpt2.transactionHash}`); + await this.orderRepo.save( + this.orderRepo.create({ + userId, + clientId, + exchange: `${dexId}:${chainId}`, + pair: `${tokenOut}/${tokenIn}:${feeTier}`, + side: 'sell', + amount: parseFloat( + ethers.utils.formatUnits(amountBack, decOut), + ), + price: 1 / (effOutPerIn || 1), + orderId: rcpt2.transactionHash, + executedAt: new Date(), + status: 'closed', + strategy: 'dexVolume', + }), + ); + + this.logger.log( + `[${strategyKey}] Swap B→A ok: ${rcpt2.transactionHash}`, + ); } else { - this.logger.log(`[${strategyKey}] DRY B→A: in≈${ethers.utils.formatUnits(amountBack, decOut)} out(min)≈${ethers.utils.formatUnits(minBack, decIn)}`); + this.logger.log( + `[${strategyKey}] DRY B→A: in≈${ethers.utils.formatUnits( + amountBack, + decOut, + )} out(min)≈${ethers.utils.formatUnits(minBack, decIn)}`, + ); } } @@ -208,30 +325,47 @@ export class DexVolumeStrategyService { }; const scheduleNext = () => { - const delay = Math.max(1000, Math.floor(clampJitter(baseIntervalSec, intervalJitterPct) * 1000)); + const delay = Math.max( + 1000, + Math.floor(clampJitter(baseIntervalSec, intervalJitterPct) * 1000), + ); const t = setTimeout(oneCycle, delay); this.loops.set(strategyKey, t); - this.logger.log(`[${strategyKey}] Next hop in ~${Math.round(delay / 1000)}s`); + this.logger.log( + `[${strategyKey}] Next hop in ~${Math.round(delay / 1000)}s`, + ); }; const scheduleRetry = () => { - const delay = Math.floor(clampJitter(baseIntervalSec * 1.5, intervalJitterPct) * 1000); + const delay = Math.floor( + clampJitter(baseIntervalSec * 1.5, intervalJitterPct) * 1000, + ); const t = setTimeout(oneCycle, delay); this.loops.set(strategyKey, t); - this.logger.log(`[${strategyKey}] Retry in ~${Math.round(delay / 1000)}s`); + this.logger.log( + `[${strategyKey}] Retry in ~${Math.round(delay / 1000)}s`, + ); }; - this.logger.log(`[${strategyKey}] DEX volume started on ${dexId}@${chainId}`); + this.logger.log( + `[${strategyKey}] DEX volume started on ${dexId}@${chainId}`, + ); oneCycle(); } stop(userId: string, clientId: string) { - const strategyKey = createStrategyKey({ type: 'dexVolume', user_id: userId, client_id: clientId }); + const strategyKey = createStrategyKey({ + type: 'dexVolume', + user_id: userId, + client_id: clientId, + }); const t = this.loops.get(strategyKey); if (t) clearTimeout(t); this.loops.delete(strategyKey); - this.strategyRepo.update({ strategyKey }, { status: 'stopped', updatedAt: new Date() }); + this.strategyRepo.update( + { strategyKey }, + { status: 'stopped', updatedAt: new Date() }, + ); this.logger.log(`[${strategyKey}] Stopped.`); } } - diff --git a/server/src/modules/strategy/solana-volume/solana-volume-strategy.controller.ts b/server/src/modules/strategy/solana-volume/solana-volume-strategy.controller.ts index 88fe37e2..b3e691e8 100644 --- a/server/src/modules/strategy/solana-volume/solana-volume-strategy.controller.ts +++ b/server/src/modules/strategy/solana-volume/solana-volume-strategy.controller.ts @@ -1,11 +1,19 @@ -import { Body, Controller, Get, HttpCode, HttpStatus, Post, Query } from '@nestjs/common'; +import { + Body, + Controller, + Get, + HttpCode, + HttpStatus, + Post, + Query, +} from '@nestjs/common'; import { ApiBody, ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; import { SolanaVolumeStrategyService } from './solana-volume-strategy.service'; import { StartVolumeDto } from './start-volume.dto'; import { StopVolumeDto } from './stop-volume.dto'; import { VolumeStrategyConfig } from './solana-volume.types'; -import { parsePrivateKeyToUint8Array } from 'src/common/helpers/key-utils'; +// import { parsePrivateKeyToUint8Array } from 'src/common/helpers/key-utils'; @ApiTags('Solana Volume') @Controller('solana-volume') @@ -48,7 +56,9 @@ export class SolanaVolumeStrategyController { @HttpCode(HttpStatus.OK) @ApiOperation({ summary: 'Stop a running strategy' }) @ApiBody({ type: StopVolumeDto }) - @ApiOkResponse({ schema: { properties: { status: { type: 'string', example: 'stopped' } } } }) + @ApiOkResponse({ + schema: { properties: { status: { type: 'string', example: 'stopped' } } }, + }) async stop(@Body() dto: StopVolumeDto) { await this.svc.stopVolumeStrategy(dto.userId, dto.clientId); return { status: 'stopped' }; @@ -87,8 +97,16 @@ export class SolanaVolumeStrategyController { @Get('price') @ApiOperation({ summary: 'Get current price for the configured pair' }) - @ApiOkResponse({ schema: { type: 'number', description: 'Price of 1 input token in output token units' } }) - async price(@Query('userId') userId: string, @Query('clientId') clientId: string) { + @ApiOkResponse({ + schema: { + type: 'number', + description: 'Price of 1 input token in output token units', + }, + }) + async price( + @Query('userId') userId: string, + @Query('clientId') clientId: string, + ) { const price = await this.svc.getCurrentPrice(userId, clientId); return price; } diff --git a/server/src/modules/strategy/solana-volume/solana-volume-strategy.service.ts b/server/src/modules/strategy/solana-volume/solana-volume-strategy.service.ts index dc96363d..bfef9e10 100644 --- a/server/src/modules/strategy/solana-volume/solana-volume-strategy.service.ts +++ b/server/src/modules/strategy/solana-volume/solana-volume-strategy.service.ts @@ -1,13 +1,22 @@ import { Injectable, Logger } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; -import { Connection, PublicKey, VersionedTransaction, Keypair } from '@solana/web3.js'; +import { + Connection, + PublicKey, + VersionedTransaction, + Keypair, +} from '@solana/web3.js'; import { Wallet } from '@coral-xyz/anchor'; import { createJupiterApiClient, QuoteResponse } from '@jup-ag/api'; import * as fs from 'fs'; import { getMint } from '@solana/spl-token'; import bs58 from 'bs58'; // npm i bs58 -import { VolumeStrategyConfig, StrategyInstance, TradeData } from './solana-volume.types'; +import { + VolumeStrategyConfig, + StrategyInstance, + TradeData, +} from './solana-volume.types'; import { parsePrivateKeyToUint8Array } from 'src/common/helpers/key-utils'; type JupiterClient = ReturnType; @@ -30,17 +39,23 @@ export class SolanaVolumeStrategyService { } /** Start a volume generation strategy */ - async startVolumeStrategy(config: VolumeStrategyConfig): Promise<{ strategyKey: string }> { + async startVolumeStrategy( + config: VolumeStrategyConfig, + ): Promise<{ strategyKey: string }> { const strategyKey = this.createStrategyKey(config.userId, config.clientId); this.logger.log(`startVolumeStrategy() called -> ${strategyKey}`); if (this.strategyInstances.has(strategyKey)) { - this.logger.warn(`Strategy ${strategyKey} already exists; returning existing key`); + this.logger.warn( + `Strategy ${strategyKey} already exists; returning existing key`, + ); return { strategyKey }; } try { - this.logger.debug(`Creating Connection to ${config.rpcUrl} with commitment 'confirmed'`); + this.logger.debug( + `Creating Connection to ${config.rpcUrl} with commitment 'confirmed'`, + ); const connection = new Connection(config.rpcUrl, 'confirmed'); this.logger.debug(`Creating Jupiter API client`); @@ -80,7 +95,9 @@ export class SolanaVolumeStrategyService { return { strategyKey }; } catch (error: any) { this.logger.error( - `startVolumeStrategy failed for ${strategyKey}: ${error?.message ?? error}`, + `startVolumeStrategy failed for ${strategyKey}: ${ + error?.message ?? error + }`, error?.stack, ); this.cleanupStrategy(strategyKey); @@ -95,7 +112,9 @@ export class SolanaVolumeStrategyService { const instance = this.strategyInstances.get(strategyKey); if (!instance) { - this.logger.warn(`stopVolumeStrategy: instance not found for ${strategyKey}`); + this.logger.warn( + `stopVolumeStrategy: instance not found for ${strategyKey}`, + ); return; } @@ -113,11 +132,15 @@ export class SolanaVolumeStrategyService { this.logger.debug(`executeTradingCycle() ENTER ${strategyKey}`); const instance = this.strategyInstances.get(strategyKey); if (!instance) { - this.logger.warn(`executeTradingCycle: instance not found for ${strategyKey}`); + this.logger.warn( + `executeTradingCycle: instance not found for ${strategyKey}`, + ); return; } if (!instance.isRunning) { - this.logger.warn(`executeTradingCycle: ${strategyKey} is not running (exit)`); + this.logger.warn( + `executeTradingCycle: ${strategyKey} is not running (exit)`, + ); return; } @@ -125,15 +148,18 @@ export class SolanaVolumeStrategyService { this.logger.log( `Trade count reached (${instance.tradesExecuted}/${instance.config.numTrades}) for ${strategyKey}, stopping...`, ); - await this.stopVolumeStrategy(instance.config.userId, instance.config.clientId); + await this.stopVolumeStrategy( + instance.config.userId, + instance.config.clientId, + ); return; } try { this.logger.debug( - `Executing trade #${instance.tradesExecuted + 1} for ${strategyKey}; buyer=${ - instance.useWalletAAsBuyer ? 'A' : 'B' - }`, + `Executing trade #${ + instance.tradesExecuted + 1 + } for ${strategyKey}; buyer=${instance.useWalletAAsBuyer ? 'A' : 'B'}`, ); await this.executeTrade(strategyKey); @@ -142,7 +168,9 @@ export class SolanaVolumeStrategyService { instance.consecutiveErrors = 0; this.logger.log( - `Trade #${instance.tradesExecuted} complete for ${strategyKey}; next buyer will be ${ + `Trade #${ + instance.tradesExecuted + } complete for ${strategyKey}; next buyer will be ${ instance.useWalletAAsBuyer ? 'A' : 'B' }`, ); @@ -153,20 +181,29 @@ export class SolanaVolumeStrategyService { `Loss threshold check for ${strategyKey}: shouldStop=${shouldStop}`, ); if (shouldStop) { - this.logger.warn(`Max loss threshold hit for ${strategyKey}, stopping strategy`); - await this.stopVolumeStrategy(instance.config.userId, instance.config.clientId); + this.logger.warn( + `Max loss threshold hit for ${strategyKey}, stopping strategy`, + ); + await this.stopVolumeStrategy( + instance.config.userId, + instance.config.clientId, + ); return; } } - const nextDelay = this.calculateNextTradeDelay(instance.config.baseIntervalTime); + const nextDelay = this.calculateNextTradeDelay( + instance.config.baseIntervalTime, + ); this.logger.log( `Scheduling next trade for ${strategyKey} in ${nextDelay} ms (base=${instance.config.baseIntervalTime}s)`, ); instance.timeoutId = setTimeout(() => { this.executeTradingCycle(strategyKey).catch((err) => this.logger.error( - `executeTradingCycle error (scheduled) for ${strategyKey}: ${err?.message ?? err}`, + `executeTradingCycle error (scheduled) for ${strategyKey}: ${ + err?.message ?? err + }`, err?.stack, ), ); @@ -178,14 +215,18 @@ export class SolanaVolumeStrategyService { const retryDelay = Math.floor(base * factor); this.logger.error( - `executeTradingCycle error for ${strategyKey} (consecutiveErrors=${instance.consecutiveErrors}) -> retry in ${retryDelay} ms: ${error?.message ?? error}`, + `executeTradingCycle error for ${strategyKey} (consecutiveErrors=${ + instance.consecutiveErrors + }) -> retry in ${retryDelay} ms: ${error?.message ?? error}`, error?.stack, ); instance.timeoutId = setTimeout(() => { this.executeTradingCycle(strategyKey).catch((err) => this.logger.error( - `executeTradingCycle error (retry) for ${strategyKey}: ${err?.message ?? err}`, + `executeTradingCycle error (retry) for ${strategyKey}: ${ + err?.message ?? err + }`, err?.stack, ), ); @@ -201,7 +242,8 @@ export class SolanaVolumeStrategyService { const { config, useWalletAAsBuyer } = instance; const jupiter = this.jupiterInstances.get(strategyKey); const wallets = this.walletPairs.get(strategyKey); - if (!jupiter || !wallets) throw new Error(`Jupiter or wallets not ready for ${strategyKey}`); + if (!jupiter || !wallets) + throw new Error(`Jupiter or wallets not ready for ${strategyKey}`); const buyerWallet = useWalletAAsBuyer ? wallets.walletA : wallets.walletB; const sellerWallet = useWalletAAsBuyer ? wallets.walletB : wallets.walletA; @@ -220,7 +262,9 @@ export class SolanaVolumeStrategyService { if (!buyQuote) throw new Error('No buy quote available'); this.logger.debug( - `Executing BUY swap for ${strategyKey} as ${buyerWallet.publicKey.toBase58()} | outAmount=${buyQuote.outAmount}`, + `Executing BUY swap for ${strategyKey} as ${buyerWallet.publicKey.toBase58()} | outAmount=${ + buyQuote.outAmount + }`, ); const buySig = await this.executeSwap(strategyKey, buyerWallet, buyQuote); this.logger.log(`BUY tx sent for ${strategyKey}: sig=${buySig}`); @@ -241,9 +285,15 @@ export class SolanaVolumeStrategyService { if (!sellQuote) throw new Error('No sell quote available'); this.logger.debug( - `Executing SELL swap for ${strategyKey} as ${sellerWallet.publicKey.toBase58()} | outAmount=${sellQuote.outAmount}`, + `Executing SELL swap for ${strategyKey} as ${sellerWallet.publicKey.toBase58()} | outAmount=${ + sellQuote.outAmount + }`, + ); + const sellSig = await this.executeSwap( + strategyKey, + sellerWallet, + sellQuote, ); - const sellSig = await this.executeSwap(strategyKey, sellerWallet, sellQuote); this.logger.log(`SELL tx sent for ${strategyKey}: sig=${sellSig}`); await this.recordTrade( @@ -264,10 +314,13 @@ export class SolanaVolumeStrategyService { ): Promise { const connection = this.connections.get(strategyKey); const jupiter = this.jupiterInstances.get(strategyKey); - if (!connection || !jupiter) throw new Error(`Missing connection or jupiter for ${strategyKey}`); + if (!connection || !jupiter) + throw new Error(`Missing connection or jupiter for ${strategyKey}`); this.logger.debug( - `swapPost -> user=${wallet.publicKey.toBase58()} in=${(quote as any)?.inAmount} out=${(quote as any)?.outAmount}`, + `swapPost -> user=${wallet.publicKey.toBase58()} in=${ + (quote as any)?.inAmount + } out=${(quote as any)?.outAmount}`, ); const swapResult = await jupiter.swapPost({ @@ -278,8 +331,11 @@ export class SolanaVolumeStrategyService { }, }); - const swapTransaction = (swapResult as any)?.swapTransaction as string | undefined; - if (!swapTransaction) throw new Error('swapPost returned no swapTransaction'); + const swapTransaction = (swapResult as any)?.swapTransaction as + | string + | undefined; + if (!swapTransaction) + throw new Error('swapPost returned no swapTransaction'); this.logger.debug(`Deserializing and signing tx for ${strategyKey}`); const txBytes = new Uint8Array(Buffer.from(swapTransaction, 'base64')); @@ -290,10 +346,13 @@ export class SolanaVolumeStrategyService { this.logger.debug( `Sending raw tx for ${strategyKey}; lastValidBlockHeight=${latestBlockhash.lastValidBlockHeight}`, ); - const signature = await connection.sendRawTransaction(transaction.serialize(), { - skipPreflight: true, - maxRetries: 2, - }); + const signature = await connection.sendRawTransaction( + transaction.serialize(), + { + skipPreflight: true, + maxRetries: 2, + }, + ); this.logger.debug(`Confirming tx ${signature} for ${strategyKey}`); const confirmation = await connection.confirmTransaction({ @@ -304,9 +363,13 @@ export class SolanaVolumeStrategyService { if (confirmation.value.err) { this.logger.error( - `Transaction failed for ${strategyKey}: ${JSON.stringify(confirmation.value.err)}`, + `Transaction failed for ${strategyKey}: ${JSON.stringify( + confirmation.value.err, + )}`, + ); + throw new Error( + `Transaction failed: ${JSON.stringify(confirmation.value.err)}`, ); - throw new Error(`Transaction failed: ${JSON.stringify(confirmation.value.err)}`); } this.logger.debug(`Transaction confirmed for ${strategyKey}: ${signature}`); @@ -319,7 +382,9 @@ export class SolanaVolumeStrategyService { const connection = this.connections.get(strategyKey); const wallets = this.walletPairs.get(strategyKey); if (!instance || !connection || !wallets) { - this.logger.warn(`checkBalances aborted: missing instance/connection/wallets for ${strategyKey}`); + this.logger.warn( + `checkBalances aborted: missing instance/connection/wallets for ${strategyKey}`, + ); return; } @@ -340,16 +405,26 @@ export class SolanaVolumeStrategyService { const instance = this.strategyInstances.get(strategyKey); const connection = this.connections.get(strategyKey); const wallets = this.walletPairs.get(strategyKey); - if (!instance || !connection || !wallets || !instance.config.maxLossThreshold) { + if ( + !instance || + !connection || + !wallets || + !instance.config.maxLossThreshold + ) { return false; } - const currentBalanceA = await connection.getBalance(wallets.walletA.publicKey); - const currentBalanceB = await connection.getBalance(wallets.walletB.publicKey); + const currentBalanceA = await connection.getBalance( + wallets.walletA.publicKey, + ); + const currentBalanceB = await connection.getBalance( + wallets.walletB.publicKey, + ); const totalCurrent = currentBalanceA + currentBalanceB; const totalInitial = - (instance.initialBalances?.walletA ?? 0) + (instance.initialBalances?.walletB ?? 0); + (instance.initialBalances?.walletA ?? 0) + + (instance.initialBalances?.walletB ?? 0); const currentLoss = (totalInitial - totalCurrent) / 1e9; // SOL this.logger.debug( @@ -411,7 +486,11 @@ export class SolanaVolumeStrategyService { existing = JSON.parse(fs.readFileSync(filename, 'utf8')); } } catch (e: any) { - this.logger.error(`Failed reading existing trade data file "${filename}": ${e?.message ?? e}`); + this.logger.error( + `Failed reading existing trade data file "${filename}": ${ + e?.message ?? e + }`, + ); existing = []; } existing.push(tradeData); @@ -419,7 +498,9 @@ export class SolanaVolumeStrategyService { fs.writeFileSync(filename, JSON.stringify(existing, null, 2)); this.logger.debug(`Trade data appended to ${filename}`); } catch (e: any) { - this.logger.error(`Failed writing trade data file "${filename}": ${e?.message ?? e}`); + this.logger.error( + `Failed writing trade data file "${filename}": ${e?.message ?? e}`, + ); } } @@ -454,15 +535,23 @@ export class SolanaVolumeStrategyService { return running; } - getStrategyStatus(userId: string, clientId: string): Omit | undefined { + getStrategyStatus( + userId: string, + clientId: string, + ): Omit | undefined { const strategyKey = this.createStrategyKey(userId, clientId); const inst = this.strategyInstances.get(strategyKey); if (!inst) { this.logger.warn(`getStrategyStatus: not found ${strategyKey}`); return undefined; } - const { isRunning, tradesExecuted, useWalletAAsBuyer, initialBalances, consecutiveErrors } = - inst; + const { + isRunning, + tradesExecuted, + useWalletAAsBuyer, + initialBalances, + consecutiveErrors, + } = inst; this.logger.debug( `getStrategyStatus(${strategyKey}) -> running=${isRunning} trades=${tradesExecuted} nextBuyer=${ useWalletAAsBuyer ? 'A' : 'B' @@ -490,8 +579,14 @@ export class SolanaVolumeStrategyService { throw new Error(msg); } - const inMint = await getMint(connection, new PublicKey(instance.config.inputMint)); - const outMint = await getMint(connection, new PublicKey(instance.config.outputMint)); + const inMint = await getMint( + connection, + new PublicKey(instance.config.inputMint), + ); + const outMint = await getMint( + connection, + new PublicKey(instance.config.outputMint), + ); const inDecimals = inMint.decimals; const outDecimals = outMint.decimals; @@ -514,7 +609,9 @@ export class SolanaVolumeStrategyService { const outAtomic = parseInt(String(quote.outAmount), 10); const price = outAtomic / Math.pow(10, outDecimals); - this.logger.debug(`getCurrentPrice: outAtomic=${outAtomic} -> price=${price}`); + this.logger.debug( + `getCurrentPrice: outAtomic=${outAtomic} -> price=${price}`, + ); return price; } @@ -533,20 +630,28 @@ export class SolanaVolumeStrategyService { /** Load wallets from env vars SOLANA_PRIVATE_KEY_1 / SOLANA_PRIVATE_KEY_2 */ private loadWalletsFromEnv(): { walletA: Wallet; walletB: Wallet } { - const k1 = - (this.config.get('SOLANA_PRIVATE_KEY_1') ?? process.env.SOLANA_PRIVATE_KEY_1)?.trim(); - const k2 = - (this.config.get('SOLANA_PRIVATE_KEY_2') ?? process.env.SOLANA_PRIVATE_KEY_2)?.trim(); + const k1 = ( + this.config.get('SOLANA_PRIVATE_KEY_1') ?? + process.env.SOLANA_PRIVATE_KEY_1 + )?.trim(); + const k2 = ( + this.config.get('SOLANA_PRIVATE_KEY_2') ?? + process.env.SOLANA_PRIVATE_KEY_2 + )?.trim(); if (!k1 || !k2) { - throw new Error('Missing SOLANA_PRIVATE_KEY_1 and/or SOLANA_PRIVATE_KEY_2 in environment'); + throw new Error( + 'Missing SOLANA_PRIVATE_KEY_1 and/or SOLANA_PRIVATE_KEY_2 in environment', + ); } const kp1 = this.keypairFromAny(k1, 'SOLANA_PRIVATE_KEY_1'); const kp2 = this.keypairFromAny(k2, 'SOLANA_PRIVATE_KEY_2'); this.logger.debug( - `Parsed keypairs: kp1.len=${kp1.secretKey?.length ?? 'n/a'} kp2.len=${kp2.secretKey?.length ?? 'n/a'}`, + `Parsed keypairs: kp1.len=${kp1.secretKey?.length ?? 'n/a'} kp2.len=${ + kp2.secretKey?.length ?? 'n/a' + }`, ); return { walletA: new Wallet(kp1), walletB: new Wallet(kp2) }; @@ -568,7 +673,9 @@ export class SolanaVolumeStrategyService { bytes = Uint8Array.from(arr); parsedVia = 'json-array'; } - } catch { /* ignore */ } + } catch { + /* ignore */ + } } // 2) base64 @@ -579,11 +686,17 @@ export class SolanaVolumeStrategyService { bytes = new Uint8Array(b); parsedVia = 'base64'; } - } catch { /* ignore */ } + } catch { + /* ignore */ + } } // 3) hex (64 hex chars = 32 bytes, 128 hex chars = 64 bytes) - if (!bytes && /^[0-9a-fA-F]+$/.test(s) && (s.length === 64 || s.length === 128)) { + if ( + !bytes && + /^[0-9a-fA-F]+$/.test(s) && + (s.length === 64 || s.length === 128) + ) { const b = Buffer.from(s, 'hex'); bytes = new Uint8Array(b); parsedVia = 'hex'; @@ -597,7 +710,9 @@ export class SolanaVolumeStrategyService { bytes = b; parsedVia = 'base58'; } - } catch { /* ignore */ } + } catch { + /* ignore */ + } } // 5) fallback to your helper, if present @@ -608,7 +723,9 @@ export class SolanaVolumeStrategyService { bytes = b; parsedVia = 'helper'; } - } catch { /* ignore */ } + } catch { + /* ignore */ + } } if (!bytes) { @@ -620,12 +737,18 @@ export class SolanaVolumeStrategyService { ); } - this.logger.debug(`${label}: parsed via=${parsedVia} length=${bytes.length} bytes`); + this.logger.debug( + `${label}: parsed via=${parsedVia} length=${bytes.length} bytes`, + ); if (bytes.length === 64) return Keypair.fromSecretKey(bytes); if (bytes.length === 32) return Keypair.fromSeed(bytes); - this.logger.error(`${label}: invalid key length ${bytes.length}. Expected 32 or 64 bytes.`); - throw new Error(`${label}: invalid key length ${bytes.length}. Expected 32 or 64 bytes.`); + this.logger.error( + `${label}: invalid key length ${bytes.length}. Expected 32 or 64 bytes.`, + ); + throw new Error( + `${label}: invalid key length ${bytes.length}. Expected 32 or 64 bytes.`, + ); } } diff --git a/server/src/modules/strategy/solana-volume/solana-volume.types.ts b/server/src/modules/strategy/solana-volume/solana-volume.types.ts index 399f0e2a..4cba58f7 100644 --- a/server/src/modules/strategy/solana-volume/solana-volume.types.ts +++ b/server/src/modules/strategy/solana-volume/solana-volume.types.ts @@ -1,12 +1,12 @@ -import { Connection } from '@solana/web3.js'; +// import { Connection } from '@solana/web3.js'; import { QuoteResponse } from '@jup-ag/api'; export interface VolumeStrategyConfig { userId: string; clientId: string; rpcUrl: string; - inputMint: string; // SPL mint address - outputMint: string; // SPL mint address + inputMint: string; // SPL mint address + outputMint: string; // SPL mint address baseTradeAmount: number; // atomic units of input mint numTrades: number; baseIntervalTime: number; // seconds @@ -34,7 +34,7 @@ export interface TradeData { buyQuote: QuoteResponse; sellQuote: QuoteResponse; fees: number; - buyerWallet: string; // base58 - sellerWallet: string; // base58 + buyerWallet: string; // base58 + sellerWallet: string; // base58 pnl?: number; } diff --git a/server/src/modules/strategy/solana-volume/start-volume.dto.ts b/server/src/modules/strategy/solana-volume/start-volume.dto.ts index 56718c59..07a77c54 100644 --- a/server/src/modules/strategy/solana-volume/start-volume.dto.ts +++ b/server/src/modules/strategy/solana-volume/start-volume.dto.ts @@ -1,5 +1,5 @@ import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; -import { Transform } from 'class-transformer'; +// import { Transform } from 'class-transformer'; import { IsInt, IsNumber, IsOptional, IsString, Min } from 'class-validator'; export class StartVolumeDto { @@ -15,16 +15,24 @@ export class StartVolumeDto { @IsString() rpcUrl!: string; - - @ApiProperty({ description: 'Input SPL mint', example: 'So11111111111111111111111111111111111111112' }) + @ApiProperty({ + description: 'Input SPL mint', + example: 'So11111111111111111111111111111111111111112', + }) @IsString() inputMint!: string; - @ApiProperty({ description: 'Output SPL mint', example: 'So11111111111111111111111111111111111111112' }) + @ApiProperty({ + description: 'Output SPL mint', + example: 'So11111111111111111111111111111111111111112', + }) @IsString() outputMint!: string; - @ApiProperty({ description: 'Base trade amount (atomic units of input mint)', example: 1_000_000 }) + @ApiProperty({ + description: 'Base trade amount (atomic units of input mint)', + example: 1_000_000, + }) @IsInt() @Min(1) baseTradeAmount!: number; @@ -34,7 +42,10 @@ export class StartVolumeDto { @Min(1) numTrades!: number; - @ApiProperty({ description: 'Base interval (seconds) between trades', example: 15 }) + @ApiProperty({ + description: 'Base interval (seconds) between trades', + example: 15, + }) @IsInt() @Min(1) baseIntervalTime!: number; @@ -48,7 +59,10 @@ export class StartVolumeDto { @IsNumber() pricePushRate!: number; - @ApiPropertyOptional({ description: 'Max loss threshold in SOL', example: 0.25 }) + @ApiPropertyOptional({ + description: 'Max loss threshold in SOL', + example: 0.25, + }) @IsOptional() @IsNumber() maxLossThreshold?: number; diff --git a/server/src/modules/strategy/strategy.module.ts b/server/src/modules/strategy/strategy.module.ts index 8bc295a6..43b6af65 100644 --- a/server/src/modules/strategy/strategy.module.ts +++ b/server/src/modules/strategy/strategy.module.ts @@ -50,7 +50,7 @@ import { PancakeV3Adapter } from 'src/defi/adapters/pancakeV3.adapter'; IndicatorStrategyHistory, ]), ], - controllers: [StrategyController,DexVolumeController], + controllers: [StrategyController, DexVolumeController], providers: [ StrategyService, StrategyUserService, @@ -58,17 +58,17 @@ import { PancakeV3Adapter } from 'src/defi/adapters/pancakeV3.adapter'; ExchangeInitService, AlpacaStratService, TimeIndicatorStrategyService, - DexVolumeStrategyService, - DexAdapterRegistry, - UniswapV3Adapter, - PancakeV3Adapter + DexVolumeStrategyService, + DexAdapterRegistry, + UniswapV3Adapter, + PancakeV3Adapter, ], exports: [ StrategyService, StrategyUserService, StrategyUserRepository, TimeIndicatorStrategyService, - DexVolumeStrategyService + DexVolumeStrategyService, ], }) export class StrategyModule {} diff --git a/server/src/modules/strategy/strategy.service.ts b/server/src/modules/strategy/strategy.service.ts index a340f006..dad2c4ad 100644 --- a/server/src/modules/strategy/strategy.service.ts +++ b/server/src/modules/strategy/strategy.service.ts @@ -359,1157 +359,1186 @@ export class StrategyService { } } -async executeVolumeStrategy( - exchangeName: string, - symbol: string, - baseIncrementPercentage: number, - baseIntervalTime: number, - baseTradeAmount: number, - numTrades: number, - userId: string, - clientId: string, - pricePushRate: number, - postOnlySide: 'buy' | 'sell', -) { - const strategyKey = createStrategyKey({ - type: 'volume', - user_id: userId, - client_id: clientId, - }); - - try { - let strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey } }); - - const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); - const ex2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); - - await Promise.all([ex1.loadMarkets(), ex2.loadMarkets()]); - - const market = ex1.market(symbol); - if (!market) throw new Error(`Market not found for ${symbol} on ${ex1.id}`); - - const priceToPrec = (p: number) => Number(ex1.priceToPrecision(symbol, p)); - const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); - - const minAmt = market.limits?.amount?.min ?? 0; - const minPrice = market.limits?.price?.min ?? 0; - - const startTicker = await ex1.fetchTicker(symbol); - const startPrice = Number(startTicker.last); - - const parameters = { - exchangeName, - symbol, - baseIncrementPercentage, - baseIntervalTime, - baseTradeAmount, - numTrades, - userId, - clientId, - pricePushRate, - postOnlySide, - }; + async executeVolumeStrategy( + exchangeName: string, + symbol: string, + baseIncrementPercentage: number, + baseIntervalTime: number, + baseTradeAmount: number, + numTrades: number, + userId: string, + clientId: string, + pricePushRate: number, + postOnlySide: 'buy' | 'sell', + ) { + const strategyKey = createStrategyKey({ + type: 'volume', + user_id: userId, + client_id: clientId, + }); - if (!strategyInstance) { - strategyInstance = this.strategyInstanceRepository.create({ - strategyKey, - userId, - clientId, - strategyType: 'volume', - parameters, - status: 'running', - startPrice, + try { + let strategyInstance = await this.strategyInstanceRepository.findOne({ + where: { strategyKey }, }); - // await this.strategyInstanceRepository.save(strategyInstance); - } else { - await this.strategyInstanceRepository.update( - { strategyKey }, - { status: 'running', updatedAt: new Date() }, - ); - } - - let tradesExecuted = 0; - let totalPnL = 0; // Track cumulative PnL - const loop = async () => { - if (tradesExecuted >= numTrades) { - this.logger.log( - `Volume strategy [${strategyKey}] completed after ${numTrades} trades. ` + - `Total PnL: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)}` - ); - const inst = this.strategyInstances.get(strategyKey); - if (inst?.intervalId) clearInterval(inst.intervalId); - this.strategyInstances.delete(strategyKey); - await this.strategyInstanceRepository.update( - { strategyKey }, - { status: 'stopped', updatedAt: new Date() }, - ); - return; - } + const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); + const ex2 = this.exchangeInitService.getExchange( + exchangeName, + 'account2', + ); - const tradeNumber = tradesExecuted + 1; + await Promise.all([ex1.loadMarkets(), ex2.loadMarkets()]); - try { - await Promise.all([ - this.cancelAllOrders(ex1, symbol, strategyKey), - this.cancelAllOrders(ex2, symbol, strategyKey), - ]); - - const [bal1, bal2] = await Promise.all([ - ex1.fetchBalance(), - ex2.fetchBalance(), - ]); - - const [base, quote] = symbol.split('/'); - - const ex1Base = Number(bal1.free[base] ?? 0); - const ex1Quote = Number(bal1.free[quote] ?? 0); - const ex2Base = Number(bal2.free[base] ?? 0); - const ex2Quote = Number(bal2.free[quote] ?? 0); - - // Use ex1 orderbook as global reference - const book1 = await ex1.fetchOrderBook(symbol); - const bid1 = book1.bids[0]?.[0]; - const ask1 = book1.asks[0]?.[0]; - if (!bid1 || !ask1) throw new Error('Empty orderbook on ex1'); - - const globalMid = (bid1 + ask1) / 2; - const priceForCapacity = globalMid > 0 ? globalMid : (minPrice || 1e-12); - - const makerSide: 'buy' | 'sell' = postOnlySide; - const takerSide: 'buy' | 'sell' = makerSide === 'buy' ? 'sell' : 'buy'; - - // Capacity if ex1 = maker, ex2 = taker - const capacity1 = Math.min( - makerSide === 'buy' ? ex1Quote / priceForCapacity : ex1Base, - makerSide === 'buy' ? ex2Base : ex2Quote / priceForCapacity, - ); + const market = ex1.market(symbol); + if (!market) + throw new Error(`Market not found for ${symbol} on ${ex1.id}`); - // Capacity if ex2 = maker, ex1 = taker - const capacity2 = Math.min( - makerSide === 'buy' ? ex2Quote / priceForCapacity : ex2Base, - makerSide === 'buy' ? ex1Base : ex1Quote / priceForCapacity, - ); + const priceToPrec = (p: number) => + Number(ex1.priceToPrecision(symbol, p)); + const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); - let makerEx = capacity1 >= capacity2 ? ex1 : ex2; - let takerEx = capacity1 >= capacity2 ? ex2 : ex1; - let maxCapacity = capacity1 >= capacity2 ? capacity1 : capacity2; + const minAmt = market.limits?.amount?.min ?? 0; + const minPrice = market.limits?.price?.min ?? 0; - if (!maxCapacity || maxCapacity <= 0 || maxCapacity < minAmt) { - this.logger.warn( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: insufficient combined balance. ` + - `ex1Base=${ex1Base.toFixed(8)} ex1Quote=${ex1Quote.toFixed(8)} ex2Base=${ex2Base.toFixed( - 8, - )} ex2Quote=${ex2Quote.toFixed(8)}`, - ); - return; - } + const startTicker = await ex1.fetchTicker(symbol); + const startPrice = Number(startTicker.last); - // Maker orderbook (reuse ex1 book if makerEx is ex1) - const makerBook = makerEx === ex1 ? book1 : await makerEx.fetchOrderBook(symbol); - const makerBid = makerBook.bids[0]?.[0]; - const makerAsk = makerBook.asks[0]?.[0]; - if (!makerBid || !makerAsk) throw new Error(`Empty orderbook on maker exchange ${makerEx.id}`); + const parameters = { + exchangeName, + symbol, + baseIncrementPercentage, + baseIntervalTime, + baseTradeAmount, + numTrades, + userId, + clientId, + pricePushRate, + postOnlySide, + }; - const mid = (makerBid + makerAsk) / 2; - const makerRawPrice = Math.max(mid, minPrice || 1e-12); - const makerPrice = priceToPrec(makerRawPrice); + if (!strategyInstance) { + strategyInstance = this.strategyInstanceRepository.create({ + strategyKey, + userId, + clientId, + strategyType: 'volume', + parameters, + status: 'running', + startPrice, + }); + // await this.strategyInstanceRepository.save(strategyInstance); + } else { + await this.strategyInstanceRepository.update( + { strategyKey }, + { status: 'running', updatedAt: new Date() }, + ); + } - let rawAmt = Math.min(baseTradeAmount, maxCapacity) * 0.99; - let amount = amtToPrec(rawAmt); + let tradesExecuted = 0; + let totalPnL = 0; // Track cumulative PnL - if (!amount || amount <= 0 || amount < minAmt) { - this.logger.warn( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: computed amount too small. ` + - `amount=${amount} minAmt=${minAmt} maxCapacity=${maxCapacity}`, + const loop = async () => { + if (tradesExecuted >= numTrades) { + this.logger.log( + `Volume strategy [${strategyKey}] completed after ${numTrades} trades. ` + + `Total PnL: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)}`, + ); + const inst = this.strategyInstances.get(strategyKey); + if (inst?.intervalId) clearInterval(inst.intervalId); + this.strategyInstances.delete(strategyKey); + await this.strategyInstanceRepository.update( + { strategyKey }, + { status: 'stopped', updatedAt: new Date() }, ); return; } - // Helper to recompute capacity after switching maker/taker - const computeCapacity = (me: ccxt.Exchange, te: ccxt.Exchange) => { - const bMaker = me === ex1 ? bal1 : bal2; - const bTaker = te === ex1 ? bal1 : bal2; - - const mBase = Number(bMaker.free[base] ?? 0); - const mQuote = Number(bMaker.free[quote] ?? 0); - const tBase = Number(bTaker.free[base] ?? 0); - const tQuote = Number(bTaker.free[quote] ?? 0); + const tradeNumber = tradesExecuted + 1; - const mMax = makerSide === 'buy' ? mQuote / priceForCapacity : mBase; - const tMax = makerSide === 'buy' ? tBase : tQuote / priceForCapacity; - - return Math.min(mMax, tMax); - }; - - let makerOrder: any; - let takerOrder: any; - let lastTakerPrice: number | undefined; - - // ----------------------- - // MAKER ORDER (with fallback) - // ----------------------- try { - makerOrder = await makerEx.createOrder( - symbol, - 'limit', - makerSide, - amount, - makerPrice, - { postOnly: true }, + await Promise.all([ + this.cancelAllOrders(ex1, symbol, strategyKey), + this.cancelAllOrders(ex2, symbol, strategyKey), + ]); + + const [bal1, bal2] = await Promise.all([ + ex1.fetchBalance(), + ex2.fetchBalance(), + ]); + + const [base, quote] = symbol.split('/'); + + const ex1Base = Number(bal1.free[base] ?? 0); + const ex1Quote = Number(bal1.free[quote] ?? 0); + const ex2Base = Number(bal2.free[base] ?? 0); + const ex2Quote = Number(bal2.free[quote] ?? 0); + + // Use ex1 orderbook as global reference + const book1 = await ex1.fetchOrderBook(symbol); + const bid1 = book1.bids[0]?.[0]; + const ask1 = book1.asks[0]?.[0]; + if (!bid1 || !ask1) throw new Error('Empty orderbook on ex1'); + + const globalMid = (bid1 + ask1) / 2; + const priceForCapacity = + globalMid > 0 ? globalMid : minPrice || 1e-12; + + const makerSide: 'buy' | 'sell' = postOnlySide; + const takerSide: 'buy' | 'sell' = + makerSide === 'buy' ? 'sell' : 'buy'; + + // Capacity if ex1 = maker, ex2 = taker + const capacity1 = Math.min( + makerSide === 'buy' ? ex1Quote / priceForCapacity : ex1Base, + makerSide === 'buy' ? ex2Base : ex2Quote / priceForCapacity, ); - this.logger.log( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + - `Maker order placed: ${makerOrder.id}` - ); - } catch (e: any) { - this.logger.warn( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: maker failed on ${makerEx.id}: ${e.message}. ` + - `Switching maker/taker and recomputing amount.`, + // Capacity if ex2 = maker, ex1 = taker + const capacity2 = Math.min( + makerSide === 'buy' ? ex2Quote / priceForCapacity : ex2Base, + makerSide === 'buy' ? ex1Base : ex1Quote / priceForCapacity, ); - // Swap roles - const newMaker = makerEx === ex1 ? ex2 : ex1; - const newTaker = makerEx === ex1 ? ex1 : ex2; - makerEx = newMaker; - takerEx = newTaker; - - const cap = computeCapacity(makerEx, takerEx); - if (!cap || cap <= 0 || cap < minAmt) { - throw new Error( - `Alternate maker/taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`, + let makerEx = capacity1 >= capacity2 ? ex1 : ex2; + let takerEx = capacity1 >= capacity2 ? ex2 : ex1; + const maxCapacity = capacity1 >= capacity2 ? capacity1 : capacity2; + + if (!maxCapacity || maxCapacity <= 0 || maxCapacity < minAmt) { + this.logger.warn( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: insufficient combined balance. ` + + `ex1Base=${ex1Base.toFixed(8)} ex1Quote=${ex1Quote.toFixed( + 8, + )} ex2Base=${ex2Base.toFixed(8)} ex2Quote=${ex2Quote.toFixed( + 8, + )}`, ); + return; } - const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); - if (!newAmt || newAmt <= 0 || newAmt < minAmt) { - throw new Error( - `Alternate maker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`, + // Maker orderbook (reuse ex1 book if makerEx is ex1) + const makerBook = + makerEx === ex1 ? book1 : await makerEx.fetchOrderBook(symbol); + const makerBid = makerBook.bids[0]?.[0]; + const makerAsk = makerBook.asks[0]?.[0]; + if (!makerBid || !makerAsk) + throw new Error(`Empty orderbook on maker exchange ${makerEx.id}`); + + const mid = (makerBid + makerAsk) / 2; + const makerRawPrice = Math.max(mid, minPrice || 1e-12); + const makerPrice = priceToPrec(makerRawPrice); + + const rawAmt = Math.min(baseTradeAmount, maxCapacity) * 0.99; + let amount = amtToPrec(rawAmt); + + if (!amount || amount <= 0 || amount < minAmt) { + this.logger.warn( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: computed amount too small. ` + + `amount=${amount} minAmt=${minAmt} maxCapacity=${maxCapacity}`, ); + return; } - amount = newAmt; - - makerOrder = await makerEx.createOrder( - symbol, - 'limit', - makerSide, - amount, - makerPrice, - { postOnly: true }, - ); + // Helper to recompute capacity after switching maker/taker + const computeCapacity = (me: ccxt.Exchange, te: ccxt.Exchange) => { + const bMaker = me === ex1 ? bal1 : bal2; + const bTaker = te === ex1 ? bal1 : bal2; + + const mBase = Number(bMaker.free[base] ?? 0); + const mQuote = Number(bMaker.free[quote] ?? 0); + const tBase = Number(bTaker.free[base] ?? 0); + const tQuote = Number(bTaker.free[quote] ?? 0); + + const mMax = + makerSide === 'buy' ? mQuote / priceForCapacity : mBase; + const tMax = + makerSide === 'buy' ? tBase : tQuote / priceForCapacity; + + return Math.min(mMax, tMax); + }; + + let makerOrder: any; + let takerOrder: any; + let lastTakerPrice: number | undefined; + + // ----------------------- + // MAKER ORDER (with fallback) + // ----------------------- + try { + makerOrder = await makerEx.createOrder( + symbol, + 'limit', + makerSide, + amount, + makerPrice, + { postOnly: true }, + ); - this.logger.log( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + - `Alternate maker order placed: ${makerOrder.id}` - ); - } + this.logger.log( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Maker order placed: ${makerOrder.id}`, + ); + } catch (e: any) { + this.logger.warn( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: maker failed on ${makerEx.id}: ${e.message}. ` + + `Switching maker/taker and recomputing amount.`, + ); - // ----------------------- - // 30ms SAFETY DELAY - // ----------------------- - await new Promise(resolve => setTimeout(resolve, 30)); + // Swap roles + const newMaker = makerEx === ex1 ? ex2 : ex1; + const newTaker = makerEx === ex1 ? ex1 : ex2; + makerEx = newMaker; + takerEx = newTaker; + + const cap = computeCapacity(makerEx, takerEx); + if (!cap || cap <= 0 || cap < minAmt) { + throw new Error( + `Alternate maker/taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`, + ); + } + + const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); + if (!newAmt || newAmt <= 0 || newAmt < minAmt) { + throw new Error( + `Alternate maker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`, + ); + } + + amount = newAmt; + + makerOrder = await makerEx.createOrder( + symbol, + 'limit', + makerSide, + amount, + makerPrice, + { postOnly: true }, + ); - // ----------------------- - // TAKER ORDER (LIMIT + IOC, with fallback) - // ----------------------- - try { - const takerLimitPrice = makerPrice; - lastTakerPrice = takerLimitPrice + (takerLimitPrice*0.0000001); - - takerOrder = await takerEx.createOrder( - symbol, - 'limit', - takerSide, - amount, - takerLimitPrice, - { timeInForce: 'IOC' }, - ); + this.logger.log( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Alternate maker order placed: ${makerOrder.id}`, + ); + } - this.logger.log( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + - `Taker order placed: ${takerOrder.id}` - ); - } catch (e: any) { - this.logger.warn( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: taker failed on ${takerEx.id}: ${e.message}. ` + - `Switching taker and recomputing amount.`, - ); + // ----------------------- + // 30ms SAFETY DELAY + // ----------------------- + await new Promise((resolve) => setTimeout(resolve, 30)); + + // ----------------------- + // TAKER ORDER (LIMIT + IOC, with fallback) + // ----------------------- + try { + const takerLimitPrice = makerPrice; + lastTakerPrice = takerLimitPrice + takerLimitPrice * 0.0000001; + + takerOrder = await takerEx.createOrder( + symbol, + 'limit', + takerSide, + amount, + takerLimitPrice, + { timeInForce: 'IOC' }, + ); - const newTaker = takerEx === ex1 ? ex2 : ex1; - takerEx = newTaker; + this.logger.log( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Taker order placed: ${takerOrder.id}`, + ); + } catch (e: any) { + this.logger.warn( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: taker failed on ${takerEx.id}: ${e.message}. ` + + `Switching taker and recomputing amount.`, + ); - const cap = computeCapacity(makerEx, takerEx); - if (!cap || cap <= 0 || cap < minAmt) { - try { - if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); - } catch (_) {} - throw new Error( - `Alternate taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`, + const newTaker = takerEx === ex1 ? ex2 : ex1; + takerEx = newTaker; + + const cap = computeCapacity(makerEx, takerEx); + if (!cap || cap <= 0 || cap < minAmt) { + try { + if (makerOrder?.id) + await makerEx.cancelOrder(makerOrder.id, symbol); + } catch (_) {} + throw new Error( + `Alternate taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`, + ); + } + + const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); + if (!newAmt || newAmt <= 0 || newAmt < minAmt) { + try { + if (makerOrder?.id) + await makerEx.cancelOrder(makerOrder.id, symbol); + } catch (_) {} + throw new Error( + `Alternate taker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`, + ); + } + + amount = newAmt; + + const takerLimitPrice = makerPrice; + lastTakerPrice = takerLimitPrice; + + takerOrder = await takerEx.createOrder( + symbol, + 'limit', + takerSide, + amount, + takerLimitPrice, + { timeInForce: 'IOC' }, ); - } - const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); - if (!newAmt || newAmt <= 0 || newAmt < minAmt) { - try { - if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); - } catch (_) {} - throw new Error( - `Alternate taker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`, + this.logger.log( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Alternate taker order placed: ${takerOrder.id}`, ); } - amount = newAmt; + // ----------------------- + // LOG + FILL STATUS + PNL TRACKING + // ----------------------- + await new Promise((resolve) => setTimeout(resolve, 200)); // Brief delay for order status update + + const [makerRes, takerRes] = await Promise.all([ + makerEx.fetchOrder(makerOrder.id, symbol), + takerEx.fetchOrder(takerOrder.id, symbol), + ]); + + const makerFilled = makerRes.filled ?? 0; + const takerFilled = takerRes.filled ?? 0; + const makerAvgPrice = makerRes.average ?? makerPrice; + const takerAvgPrice = + takerRes.average ?? lastTakerPrice ?? makerPrice; + + // Calculate PnL + let tradePnL = 0; + if (makerFilled > 0 && takerFilled > 0) { + const filledAmount = Math.min(makerFilled, takerFilled); + + if (makerSide === 'buy') { + // We bought at makerAvgPrice and sold at takerAvgPrice + tradePnL = (takerAvgPrice - makerAvgPrice) * filledAmount; + } else { + // We sold at makerAvgPrice and bought at takerAvgPrice + tradePnL = (makerAvgPrice - takerAvgPrice) * filledAmount; + } + + totalPnL += tradePnL; + } - const takerLimitPrice = makerPrice; - lastTakerPrice = takerLimitPrice; + this.logger.log( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${ + makerEx.id + } ` + + `status=${makerRes.status} filled=${makerFilled}/${amount} avgPrice=${makerAvgPrice}`, + ); - takerOrder = await takerEx.createOrder( - symbol, - 'limit', - takerSide, - amount, - takerLimitPrice, - { timeInForce: 'IOC' }, + this.logger.log( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + `Taker ${takerSide.toUpperCase()} ${amount} @ ${ + lastTakerPrice ?? 'N/A' + } on ${takerEx.id} ` + + `status=${takerRes.status} filled=${takerFilled}/${amount} avgPrice=${takerAvgPrice}`, ); this.logger.log( `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + - `Alternate taker order placed: ${takerOrder.id}` + `PnL: ${tradePnL >= 0 ? '+' : ''}${tradePnL.toFixed( + 8, + )} ${quote} | ` + + `Cumulative: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed( + 8, + )} ${quote}`, ); - } - // ----------------------- - // LOG + FILL STATUS + PNL TRACKING - // ----------------------- - await new Promise(resolve => setTimeout(resolve, 200)); // Brief delay for order status update - - const [makerRes, takerRes] = await Promise.all([ - makerEx.fetchOrder(makerOrder.id, symbol), - takerEx.fetchOrder(takerOrder.id, symbol), - ]); - - const makerFilled = makerRes.filled ?? 0; - const takerFilled = takerRes.filled ?? 0; - const makerAvgPrice = makerRes.average ?? makerPrice; - const takerAvgPrice = takerRes.average ?? (lastTakerPrice ?? makerPrice); - - // Calculate PnL - let tradePnL = 0; - if (makerFilled > 0 && takerFilled > 0) { - const filledAmount = Math.min(makerFilled, takerFilled); - - if (makerSide === 'buy') { - // We bought at makerAvgPrice and sold at takerAvgPrice - tradePnL = (takerAvgPrice - makerAvgPrice) * filledAmount; - } else { - // We sold at makerAvgPrice and bought at takerAvgPrice - tradePnL = (makerAvgPrice - takerAvgPrice) * filledAmount; - } - - totalPnL += tradePnL; + tradesExecuted++; + } catch (err: any) { + this.logger.error( + `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: Error in trade cycle: ${err.message}`, + ); } + }; - this.logger.log( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + - `Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} ` + - `status=${makerRes.status} filled=${makerFilled}/${amount} avgPrice=${makerAvgPrice}`, - ); - - this.logger.log( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + - `Taker ${takerSide.toUpperCase()} ${amount} @ ${lastTakerPrice ?? 'N/A'} on ${takerEx.id} ` + - `status=${takerRes.status} filled=${takerFilled}/${amount} avgPrice=${takerAvgPrice}`, - ); - - this.logger.log( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + - `PnL: ${tradePnL >= 0 ? '+' : ''}${tradePnL.toFixed(8)} ${quote} | ` + - `Cumulative: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)} ${quote}` - ); - - tradesExecuted++; - } catch (err: any) { - this.logger.error( - `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: Error in trade cycle: ${err.message}`, - ); - } - }; - - const intervalId = setInterval(loop, Math.max(baseIntervalTime, 1) * 1000); - this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); + const intervalId = setInterval( + loop, + Math.max(baseIntervalTime, 1) * 1000, + ); + this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); - this.logger.log( - `Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}. ` + - `postOnlySide=${postOnlySide} numTrades=${numTrades}`, - ); - } catch (e: any) { - this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${e.message}`); + this.logger.log( + `Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}. ` + + `postOnlySide=${postOnlySide} numTrades=${numTrades}`, + ); + } catch (e: any) { + this.logger.error( + `Failed to execute volume strategy [${strategyKey}]: ${e.message}`, + ); + } } -} -// async executeVolumeStrategy( -// exchangeName: string, -// symbol: string, -// baseIncrementPercentage: number, -// baseIntervalTime: number, -// baseTradeAmount: number, -// numTrades: number, -// userId: string, -// clientId: string, -// pricePushRate: number, -// postOnlySide: 'buy' | 'sell', -// ) { -// const strategyKey = createStrategyKey({ -// type: 'volume', -// user_id: userId, -// client_id: clientId, -// }); - -// try { -// let strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey } }); - -// const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); -// const ex2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); - -// await Promise.all([ex1.loadMarkets(), ex2.loadMarkets()]); - -// const market = ex1.market(symbol); -// if (!market) throw new Error(`Market not found for ${symbol} on ${ex1.id}`); - -// const priceToPrec = (p: number) => Number(ex1.priceToPrecision(symbol, p)); -// const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); - -// const minAmt = market.limits?.amount?.min ?? 0; -// const minPrice = market.limits?.price?.min ?? 0; - -// const startTicker = await ex1.fetchTicker(symbol); -// const startPrice = Number(startTicker.last); - -// const parameters = { -// exchangeName, -// symbol, -// baseIncrementPercentage, -// baseIntervalTime, -// baseTradeAmount, -// numTrades, -// userId, -// clientId, -// pricePushRate, -// postOnlySide, -// }; - -// if (!strategyInstance) { -// strategyInstance = this.strategyInstanceRepository.create({ -// strategyKey, -// userId, -// clientId, -// strategyType: 'volume', -// parameters, -// status: 'running', -// startPrice, -// }); -// // await this.strategyInstanceRepository.save(strategyInstance); -// } else { -// await this.strategyInstanceRepository.update( -// { strategyKey }, -// { status: 'running', updatedAt: new Date() }, -// ); -// } - -// let tradesExecuted = 0; -// let totalPnL = 0; // Track cumulative PnL - -// const oppositeSide = (s: 'buy' | 'sell'): 'buy' | 'sell' => (s === 'buy' ? 'sell' : 'buy'); - -// const loop = async () => { -// if (tradesExecuted >= numTrades) { -// this.logger.log( -// `Volume strategy [${strategyKey}] completed after ${numTrades} trades. ` + -// `Total PnL: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)}`, -// ); -// const inst = this.strategyInstances.get(strategyKey); -// if (inst?.intervalId) clearInterval(inst.intervalId); -// this.strategyInstances.delete(strategyKey); -// await this.strategyInstanceRepository.update( -// { strategyKey }, -// { status: 'stopped', updatedAt: new Date() }, -// ); -// return; -// } - -// const tradeNumber = tradesExecuted + 1; - -// try { -// await Promise.all([ -// this.cancelAllOrders(ex1, symbol, strategyKey), -// this.cancelAllOrders(ex2, symbol, strategyKey), -// ]); - -// const [bal1, bal2] = await Promise.all([ex1.fetchBalance(), ex2.fetchBalance()]); - -// const [base, quote] = symbol.split('/'); - -// const ex1Base = Number(bal1.free[base] ?? 0); -// const ex1Quote = Number(bal1.free[quote] ?? 0); -// const ex2Base = Number(bal2.free[base] ?? 0); -// const ex2Quote = Number(bal2.free[quote] ?? 0); - -// // Use ex1 orderbook as global reference -// const book1 = await ex1.fetchOrderBook(symbol); -// const bid1 = book1.bids[0]?.[0]; -// const ask1 = book1.asks[0]?.[0]; -// if (!bid1 || !ask1) throw new Error('Empty orderbook on ex1'); - -// const globalMid = (bid1 + ask1) / 2; -// const priceForCapacity = globalMid > 0 ? globalMid : minPrice || 1e-12; - -// // ----------------------- -// // ALTERNATE MAKER SIDE (BUY/SELL) EACH TRADE -// // Trade 1 => postOnlySide -// // Trade 2 => opposite -// // Trade 3 => postOnlySide -// // ... -// // ----------------------- -// const makerSide: 'buy' | 'sell' = -// tradeNumber % 2 === 1 ? postOnlySide : oppositeSide(postOnlySide); -// const takerSide: 'buy' | 'sell' = oppositeSide(makerSide); - -// // Capacity if ex1 = maker, ex2 = taker -// const capacity1 = Math.min( -// makerSide === 'buy' ? ex1Quote / priceForCapacity : ex1Base, -// makerSide === 'buy' ? ex2Base : ex2Quote / priceForCapacity, -// ); - -// // Capacity if ex2 = maker, ex1 = taker -// const capacity2 = Math.min( -// makerSide === 'buy' ? ex2Quote / priceForCapacity : ex2Base, -// makerSide === 'buy' ? ex1Base : ex1Quote / priceForCapacity, -// ); - -// let makerEx = capacity1 >= capacity2 ? ex1 : ex2; -// let takerEx = capacity1 >= capacity2 ? ex2 : ex1; -// let maxCapacity = capacity1 >= capacity2 ? capacity1 : capacity2; - -// if (!maxCapacity || maxCapacity <= 0 || maxCapacity < minAmt) { -// this.logger.warn( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: insufficient combined balance. ` + -// `ex1Base=${ex1Base.toFixed(8)} ex1Quote=${ex1Quote.toFixed(8)} ex2Base=${ex2Base.toFixed( -// 8, -// )} ex2Quote=${ex2Quote.toFixed(8)}`, -// ); -// return; -// } - -// // Maker orderbook (reuse ex1 book if makerEx is ex1) -// const makerBook = makerEx === ex1 ? book1 : await makerEx.fetchOrderBook(symbol); -// const makerBid = makerBook.bids[0]?.[0]; -// const makerAsk = makerBook.asks[0]?.[0]; -// if (!makerBid || !makerAsk) throw new Error(`Empty orderbook on maker exchange ${makerEx.id}`); - -// const mid = (makerBid + makerAsk) / 2; -// const makerRawPrice = Math.max(mid, minPrice || 1e-12); -// const makerPrice = priceToPrec( -// makerRawPrice * (1 + Math.random() * 0.0007 * (Math.random() < 0.5 ? -1 : 1)), -// ); - -// let rawAmt = Math.min(baseTradeAmount, maxCapacity) * 0.99; -// let amount = amtToPrec(rawAmt); - -// if (!amount || amount <= 0 || amount < minAmt) { -// this.logger.warn( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: computed amount too small. ` + -// `amount=${amount} minAmt=${minAmt} maxCapacity=${maxCapacity}`, -// ); -// return; -// } - -// // Helper to recompute capacity after switching maker/taker -// const computeCapacity = (me: ccxt.Exchange, te: ccxt.Exchange) => { -// const bMaker = me === ex1 ? bal1 : bal2; -// const bTaker = te === ex1 ? bal1 : bal2; - -// const mBase = Number(bMaker.free[base] ?? 0); -// const mQuote = Number(bMaker.free[quote] ?? 0); -// const tBase = Number(bTaker.free[base] ?? 0); -// const tQuote = Number(bTaker.free[quote] ?? 0); - -// const mMax = makerSide === 'buy' ? mQuote / priceForCapacity : mBase; -// const tMax = makerSide === 'buy' ? tBase : tQuote / priceForCapacity; - -// return Math.min(mMax, tMax); -// }; - -// let makerOrder: any; -// let takerOrder: any; -// let lastTakerPrice: number | undefined; - -// // ----------------------- -// // MAKER ORDER (with fallback) -// // ----------------------- -// try { -// makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { -// postOnly: true, -// }); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Maker order placed: ${makerOrder.id}`, -// ); -// } catch (e: any) { -// this.logger.warn( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: maker failed on ${makerEx.id}: ${e.message}. ` + -// `Switching maker/taker and recomputing amount.`, -// ); - -// // Swap roles -// const newMaker = makerEx === ex1 ? ex2 : ex1; -// const newTaker = makerEx === ex1 ? ex1 : ex2; -// makerEx = newMaker; -// takerEx = newTaker; - -// const cap = computeCapacity(makerEx, takerEx); -// if (!cap || cap <= 0 || cap < minAmt) { -// throw new Error(`Alternate maker/taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); -// } - -// const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); -// if (!newAmt || newAmt <= 0 || newAmt < minAmt) { -// throw new Error(`Alternate maker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); -// } - -// amount = newAmt; - -// makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { -// postOnly: true, -// }); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate maker order placed: ${makerOrder.id}`, -// ); -// } - -// // ----------------------- -// // 30ms SAFETY DELAY -// // ----------------------- -// await new Promise((resolve) => setTimeout(resolve, 30)); - -// // ----------------------- -// // TAKER ORDER (LIMIT + IOC, with fallback) -// // ----------------------- -// try { -// const takerLimitPrice = makerPrice; -// lastTakerPrice = takerLimitPrice + takerLimitPrice * 0.0001; - -// takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { -// timeInForce: 'IOC', -// }); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Taker order placed: ${takerOrder.id}`, -// ); -// } catch (e: any) { -// this.logger.warn( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: taker failed on ${takerEx.id}: ${e.message}. ` + -// `Switching taker and recomputing amount.`, -// ); - -// const newTaker = takerEx === ex1 ? ex2 : ex1; -// takerEx = newTaker; - -// const cap = computeCapacity(makerEx, takerEx); -// if (!cap || cap <= 0 || cap < minAmt) { -// try { -// if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); -// } catch (_) {} -// throw new Error(`Alternate taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); -// } - -// const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); -// if (!newAmt || newAmt <= 0 || newAmt < minAmt) { -// try { -// if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); -// } catch (_) {} -// throw new Error(`Alternate taker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); -// } - -// amount = newAmt; - -// const takerLimitPrice = makerPrice; -// lastTakerPrice = takerLimitPrice; - -// takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { -// timeInForce: 'IOC', -// }); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate taker order placed: ${takerOrder.id}`, -// ); -// } - -// // ----------------------- -// // LOG + FILL STATUS + PNL TRACKING -// // ----------------------- -// await new Promise((resolve) => setTimeout(resolve, 200)); // Brief delay for order status update - -// const [makerRes, takerRes] = await Promise.all([ -// makerEx.fetchOrder(makerOrder.id, symbol), -// takerEx.fetchOrder(takerOrder.id, symbol), -// ]); - -// const makerFilled = makerRes.filled ?? 0; -// const takerFilled = takerRes.filled ?? 0; -// const makerAvgPrice = makerRes.average ?? makerPrice; -// const takerAvgPrice = takerRes.average ?? (lastTakerPrice ?? makerPrice); - -// // Calculate PnL -// let tradePnL = 0; -// if (makerFilled > 0 && takerFilled > 0) { -// const filledAmount = Math.min(makerFilled, takerFilled); - -// if (makerSide === 'buy') { -// // We bought at makerAvgPrice and sold at takerAvgPrice -// tradePnL = (takerAvgPrice - makerAvgPrice) * filledAmount; -// } else { -// // We sold at makerAvgPrice and bought at takerAvgPrice -// tradePnL = (makerAvgPrice - takerAvgPrice) * filledAmount; -// } - -// totalPnL += tradePnL; -// } - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + -// `Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} ` + -// `status=${makerRes.status} filled=${makerFilled}/${amount} avgPrice=${makerAvgPrice}`, -// ); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + -// `Taker ${takerSide.toUpperCase()} ${amount} @ ${lastTakerPrice ?? 'N/A'} on ${takerEx.id} ` + -// `status=${takerRes.status} filled=${takerFilled}/${amount} avgPrice=${takerAvgPrice}`, -// ); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + -// `PnL: ${tradePnL >= 0 ? '+' : ''}${tradePnL.toFixed(8)} ${quote} | ` + -// `Cumulative: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)} ${quote}`, -// ); - -// tradesExecuted++; -// } catch (err: any) { -// this.logger.error( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: Error in trade cycle: ${err.message}`, -// ); -// } -// }; - -// const intervalId = setInterval(loop, Math.max(baseIntervalTime, 1) * 1000); -// this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); - -// this.logger.log( -// `Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}. ` + -// `postOnlySide=${postOnlySide} numTrades=${numTrades}`, -// ); -// } catch (e: any) { -// this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${e.message}`); -// } -// } -// async executeVolumeStrategy( -// exchangeName: string, -// symbol: string, -// baseIncrementPercentage: number, -// baseIntervalTime: number, -// baseTradeAmount: number, -// numTrades: number, -// userId: string, -// clientId: string, -// pricePushRate: number, -// postOnlySide: 'buy' | 'sell', -// ) { -// const strategyKey = createStrategyKey({ -// type: 'volume', -// user_id: userId, -// client_id: clientId, -// }); - -// try { -// let strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey } }); - -// const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); -// const ex2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); - -// await Promise.all([ex1.loadMarkets(), ex2.loadMarkets()]); - -// const market = ex1.market(symbol); -// if (!market) throw new Error(`Market not found for ${symbol} on ${ex1.id}`); - -// const priceToPrec = (p: number) => Number(ex1.priceToPrecision(symbol, p)); -// const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); - -// const minAmt = market.limits?.amount?.min ?? 0; -// const minPrice = market.limits?.price?.min ?? 0; - -// const startTicker = await ex1.fetchTicker(symbol); -// const startPrice = Number(startTicker.last); - -// const parameters = { -// exchangeName, -// symbol, -// baseIncrementPercentage, -// baseIntervalTime, -// baseTradeAmount, -// numTrades, -// userId, -// clientId, -// pricePushRate, -// postOnlySide, -// }; - -// if (!strategyInstance) { -// strategyInstance = this.strategyInstanceRepository.create({ -// strategyKey, -// userId, -// clientId, -// strategyType: 'volume', -// parameters, -// status: 'running', -// startPrice, -// }); -// // await this.strategyInstanceRepository.save(strategyInstance); -// } else { -// await this.strategyInstanceRepository.update( -// { strategyKey }, -// { status: 'running', updatedAt: new Date() }, -// ); -// } - -// let tradesExecuted = 0; -// let totalPnL = 0; // Track cumulative PnL - -// const oppositeSide = (s: 'buy' | 'sell'): 'buy' | 'sell' => (s === 'buy' ? 'sell' : 'buy'); - -// const loop = async () => { -// if (tradesExecuted >= numTrades) { -// this.logger.log( -// `Volume strategy [${strategyKey}] completed after ${numTrades} trades. ` + -// `Total PnL: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)}`, -// ); -// const inst = this.strategyInstances.get(strategyKey); -// if (inst?.intervalId) clearInterval(inst.intervalId); -// this.strategyInstances.delete(strategyKey); -// await this.strategyInstanceRepository.update( -// { strategyKey }, -// { status: 'stopped', updatedAt: new Date() }, -// ); -// return; -// } - -// const tradeNumber = tradesExecuted + 1; - -// try { -// await Promise.all([ -// this.cancelAllOrders(ex1, symbol, strategyKey), -// this.cancelAllOrders(ex2, symbol, strategyKey), -// ]); - -// const [bal1, bal2] = await Promise.all([ex1.fetchBalance(), ex2.fetchBalance()]); - -// const [base, quote] = symbol.split('/'); - -// const ex1Base = Number(bal1.free[base] ?? 0); -// const ex1Quote = Number(bal1.free[quote] ?? 0); -// const ex2Base = Number(bal2.free[base] ?? 0); -// const ex2Quote = Number(bal2.free[quote] ?? 0); - -// // Use ex1 orderbook as global reference -// const book1 = await ex1.fetchOrderBook(symbol); -// const bid1 = book1.bids[0]?.[0]; -// const ask1 = book1.asks[0]?.[0]; -// if (!bid1 || !ask1) throw new Error('Empty orderbook on ex1'); - -// const globalMid = (bid1 + ask1) / 2; -// const priceForCapacity = globalMid > 0 ? globalMid : minPrice || 1e-12; - -// // ----------------------- -// // ALTERNATE MAKER SIDE (BUY/SELL) EACH TRADE -// // Trade 1 => postOnlySide -// // Trade 2 => opposite -// // Trade 3 => postOnlySide -// // ... -// // ----------------------- -// const makerSide: 'buy' | 'sell' = -// tradeNumber % 2 === 1 ? postOnlySide : oppositeSide(postOnlySide); -// const takerSide: 'buy' | 'sell' = oppositeSide(makerSide); - -// // Capacity if ex1 = maker, ex2 = taker -// const capacity1 = Math.min( -// makerSide === 'buy' ? ex1Quote / priceForCapacity : ex1Base, -// makerSide === 'buy' ? ex2Base : ex2Quote / priceForCapacity, -// ); - -// // Capacity if ex2 = maker, ex1 = taker -// const capacity2 = Math.min( -// makerSide === 'buy' ? ex2Quote / priceForCapacity : ex2Base, -// makerSide === 'buy' ? ex1Base : ex1Quote / priceForCapacity, -// ); - -// let makerEx = capacity1 >= capacity2 ? ex1 : ex2; -// let takerEx = capacity1 >= capacity2 ? ex2 : ex1; -// let maxCapacity = capacity1 >= capacity2 ? capacity1 : capacity2; - -// if (!maxCapacity || maxCapacity <= 0 || maxCapacity < minAmt) { -// this.logger.warn( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: insufficient combined balance. ` + -// `ex1Base=${ex1Base.toFixed(8)} ex1Quote=${ex1Quote.toFixed(8)} ex2Base=${ex2Base.toFixed( -// 8, -// )} ex2Quote=${ex2Quote.toFixed(8)}`, -// ); -// return; -// } - -// // Maker orderbook (reuse ex1 book if makerEx is ex1) -// const makerBook = makerEx === ex1 ? book1 : await makerEx.fetchOrderBook(symbol); -// const makerBid = makerBook.bids[0]?.[0]; -// const makerAsk = makerBook.asks[0]?.[0]; -// if (!makerBid || !makerAsk) throw new Error(`Empty orderbook on maker exchange ${makerEx.id}`); - -// // ----------------------- -// // MAKER PRICE: within 7% of spread, excluding 2% -// // - BUY: top 15% of spread, excluding top 5% (near ask) -// // - SELL: bottom 15% of spread, excluding bottom 5% (near bid) -// // ----------------------- -// const spread = makerAsk - makerBid; -// const segPct = 0.15; -// const exclPct = 0.5; - -// const safeMinP = minPrice || 1e-12; - -// let makerRawPrice: number; -// if (!spread || spread <= 0) { -// const mid = (makerBid + makerAsk) / 2; -// makerRawPrice = Math.max(mid, safeMinP); -// } else { -// if (makerSide === 'buy') { -// const low = makerAsk - spread * segPct; // ask - 7% -// const high = makerAsk - spread * exclPct; // ask - 2% -// makerRawPrice = low + Math.random() * (high - low); -// } else { -// const low = makerBid + spread * exclPct; // bid + 2% -// const high = makerBid + spread * segPct; // bid + 7% -// makerRawPrice = low + Math.random() * (high - low); -// } -// makerRawPrice = Math.max(makerRawPrice, safeMinP); -// } - -// const makerPrice = priceToPrec(makerRawPrice); - -// let rawAmt = Math.min(baseTradeAmount, maxCapacity) * 0.99; -// let amount = amtToPrec(rawAmt); - -// if (!amount || amount <= 0 || amount < minAmt) { -// this.logger.warn( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: computed amount too small. ` + -// `amount=${amount} minAmt=${minAmt} maxCapacity=${maxCapacity}`, -// ); -// return; -// } - -// // Helper to recompute capacity after switching maker/taker -// const computeCapacity = (me: ccxt.Exchange, te: ccxt.Exchange) => { -// const bMaker = me === ex1 ? bal1 : bal2; -// const bTaker = te === ex1 ? bal1 : bal2; - -// const mBase = Number(bMaker.free[base] ?? 0); -// const mQuote = Number(bMaker.free[quote] ?? 0); -// const tBase = Number(bTaker.free[base] ?? 0); -// const tQuote = Number(bTaker.free[quote] ?? 0); - -// const mMax = makerSide === 'buy' ? mQuote / priceForCapacity : mBase; -// const tMax = makerSide === 'buy' ? tBase : tQuote / priceForCapacity; - -// return Math.min(mMax, tMax); -// }; - -// let makerOrder: any; -// let takerOrder: any; -// let lastTakerPrice: number | undefined; - -// // ----------------------- -// // MAKER ORDER (with fallback) -// // ----------------------- -// try { -// makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { -// postOnly: true, -// }); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Maker order placed: ${makerOrder.id}`, -// ); -// } catch (e: any) { -// this.logger.warn( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: maker failed on ${makerEx.id}: ${e.message}. ` + -// `Switching maker/taker and recomputing amount.`, -// ); - -// // Swap roles -// const newMaker = makerEx === ex1 ? ex2 : ex1; -// const newTaker = makerEx === ex1 ? ex1 : ex2; -// makerEx = newMaker; -// takerEx = newTaker; - -// const cap = computeCapacity(makerEx, takerEx); -// if (!cap || cap <= 0 || cap < minAmt) { -// throw new Error(`Alternate maker/taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); -// } - -// const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); -// if (!newAmt || newAmt <= 0 || newAmt < minAmt) { -// throw new Error(`Alternate maker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); -// } - -// amount = newAmt; - -// makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { -// postOnly: true, -// }); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate maker order placed: ${makerOrder.id}`, -// ); -// } - -// // ----------------------- -// // 30ms SAFETY DELAY -// // ----------------------- -// await new Promise((resolve) => setTimeout(resolve, 30)); - -// // ----------------------- -// // TAKER ORDER (LIMIT + IOC, with fallback) -// // ----------------------- -// try { -// const takerLimitPrice = makerPrice; -// lastTakerPrice = takerLimitPrice + takerLimitPrice * 0.0001; - -// takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { -// timeInForce: 'IOC', -// }); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Taker order placed: ${takerOrder.id}`, -// ); -// } catch (e: any) { -// this.logger.warn( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: taker failed on ${takerEx.id}: ${e.message}. ` + -// `Switching taker and recomputing amount.`, -// ); - -// const newTaker = takerEx === ex1 ? ex2 : ex1; -// takerEx = newTaker; - -// const cap = computeCapacity(makerEx, takerEx); -// if (!cap || cap <= 0 || cap < minAmt) { -// try { -// if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); -// } catch (_) {} -// throw new Error(`Alternate taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); -// } - -// const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); -// if (!newAmt || newAmt <= 0 || newAmt < minAmt) { -// try { -// if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); -// } catch (_) {} -// throw new Error(`Alternate taker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); -// } - -// amount = newAmt; - -// const takerLimitPrice = makerPrice; -// lastTakerPrice = takerLimitPrice; - -// takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { -// timeInForce: 'IOC', -// }); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate taker order placed: ${takerOrder.id}`, -// ); -// } - -// // ----------------------- -// // LOG + FILL STATUS + PNL TRACKING -// // ----------------------- -// await new Promise((resolve) => setTimeout(resolve, 200)); // Brief delay for order status update - -// const [makerRes, takerRes] = await Promise.all([ -// makerEx.fetchOrder(makerOrder.id, symbol), -// takerEx.fetchOrder(takerOrder.id, symbol), -// ]); - -// const makerFilled = makerRes.filled ?? 0; -// const takerFilled = takerRes.filled ?? 0; -// const makerAvgPrice = makerRes.average ?? makerPrice; -// const takerAvgPrice = takerRes.average ?? (lastTakerPrice ?? makerPrice); - -// // Calculate PnL -// let tradePnL = 0; -// if (makerFilled > 0 && takerFilled > 0) { -// const filledAmount = Math.min(makerFilled, takerFilled); - -// if (makerSide === 'buy') { -// // We bought at makerAvgPrice and sold at takerAvgPrice -// tradePnL = (takerAvgPrice - makerAvgPrice) * filledAmount; -// } else { -// // We sold at makerAvgPrice and bought at takerAvgPrice -// tradePnL = (makerAvgPrice - takerAvgPrice) * filledAmount; -// } - -// totalPnL += tradePnL; -// } - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + -// `Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} ` + -// `status=${makerRes.status} filled=${makerFilled}/${amount} avgPrice=${makerAvgPrice}`, -// ); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + -// `Taker ${takerSide.toUpperCase()} ${amount} @ ${lastTakerPrice ?? 'N/A'} on ${takerEx.id} ` + -// `status=${takerRes.status} filled=${takerFilled}/${amount} avgPrice=${takerAvgPrice}`, -// ); - -// this.logger.log( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + -// `PnL: ${tradePnL >= 0 ? '+' : ''}${tradePnL.toFixed(8)} ${quote} | ` + -// `Cumulative: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)} ${quote}`, -// ); - -// tradesExecuted++; -// } catch (err: any) { -// this.logger.error( -// `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: Error in trade cycle: ${err.message}`, -// ); -// } -// }; - -// const intervalId = setInterval(loop, Math.max(baseIntervalTime, 1) * 1000); -// this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); - -// this.logger.log( -// `Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}. ` + -// `postOnlySide=${postOnlySide} numTrades=${numTrades}`, -// ); -// } catch (e: any) { -// this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${e.message}`); -// } -// } - - + // async executeVolumeStrategy( + // exchangeName: string, + // symbol: string, + // baseIncrementPercentage: number, + // baseIntervalTime: number, + // baseTradeAmount: number, + // numTrades: number, + // userId: string, + // clientId: string, + // pricePushRate: number, + // postOnlySide: 'buy' | 'sell', + // ) { + // const strategyKey = createStrategyKey({ + // type: 'volume', + // user_id: userId, + // client_id: clientId, + // }); + + // try { + // let strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey } }); + + // const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); + // const ex2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); + + // await Promise.all([ex1.loadMarkets(), ex2.loadMarkets()]); + + // const market = ex1.market(symbol); + // if (!market) throw new Error(`Market not found for ${symbol} on ${ex1.id}`); + + // const priceToPrec = (p: number) => Number(ex1.priceToPrecision(symbol, p)); + // const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); + + // const minAmt = market.limits?.amount?.min ?? 0; + // const minPrice = market.limits?.price?.min ?? 0; + + // const startTicker = await ex1.fetchTicker(symbol); + // const startPrice = Number(startTicker.last); + + // const parameters = { + // exchangeName, + // symbol, + // baseIncrementPercentage, + // baseIntervalTime, + // baseTradeAmount, + // numTrades, + // userId, + // clientId, + // pricePushRate, + // postOnlySide, + // }; + + // if (!strategyInstance) { + // strategyInstance = this.strategyInstanceRepository.create({ + // strategyKey, + // userId, + // clientId, + // strategyType: 'volume', + // parameters, + // status: 'running', + // startPrice, + // }); + // // await this.strategyInstanceRepository.save(strategyInstance); + // } else { + // await this.strategyInstanceRepository.update( + // { strategyKey }, + // { status: 'running', updatedAt: new Date() }, + // ); + // } + + // let tradesExecuted = 0; + // let totalPnL = 0; // Track cumulative PnL + + // const oppositeSide = (s: 'buy' | 'sell'): 'buy' | 'sell' => (s === 'buy' ? 'sell' : 'buy'); + + // const loop = async () => { + // if (tradesExecuted >= numTrades) { + // this.logger.log( + // `Volume strategy [${strategyKey}] completed after ${numTrades} trades. ` + + // `Total PnL: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)}`, + // ); + // const inst = this.strategyInstances.get(strategyKey); + // if (inst?.intervalId) clearInterval(inst.intervalId); + // this.strategyInstances.delete(strategyKey); + // await this.strategyInstanceRepository.update( + // { strategyKey }, + // { status: 'stopped', updatedAt: new Date() }, + // ); + // return; + // } + + // const tradeNumber = tradesExecuted + 1; + + // try { + // await Promise.all([ + // this.cancelAllOrders(ex1, symbol, strategyKey), + // this.cancelAllOrders(ex2, symbol, strategyKey), + // ]); + + // const [bal1, bal2] = await Promise.all([ex1.fetchBalance(), ex2.fetchBalance()]); + + // const [base, quote] = symbol.split('/'); + + // const ex1Base = Number(bal1.free[base] ?? 0); + // const ex1Quote = Number(bal1.free[quote] ?? 0); + // const ex2Base = Number(bal2.free[base] ?? 0); + // const ex2Quote = Number(bal2.free[quote] ?? 0); + + // // Use ex1 orderbook as global reference + // const book1 = await ex1.fetchOrderBook(symbol); + // const bid1 = book1.bids[0]?.[0]; + // const ask1 = book1.asks[0]?.[0]; + // if (!bid1 || !ask1) throw new Error('Empty orderbook on ex1'); + + // const globalMid = (bid1 + ask1) / 2; + // const priceForCapacity = globalMid > 0 ? globalMid : minPrice || 1e-12; + + // // ----------------------- + // // ALTERNATE MAKER SIDE (BUY/SELL) EACH TRADE + // // Trade 1 => postOnlySide + // // Trade 2 => opposite + // // Trade 3 => postOnlySide + // // ... + // // ----------------------- + // const makerSide: 'buy' | 'sell' = + // tradeNumber % 2 === 1 ? postOnlySide : oppositeSide(postOnlySide); + // const takerSide: 'buy' | 'sell' = oppositeSide(makerSide); + + // // Capacity if ex1 = maker, ex2 = taker + // const capacity1 = Math.min( + // makerSide === 'buy' ? ex1Quote / priceForCapacity : ex1Base, + // makerSide === 'buy' ? ex2Base : ex2Quote / priceForCapacity, + // ); + + // // Capacity if ex2 = maker, ex1 = taker + // const capacity2 = Math.min( + // makerSide === 'buy' ? ex2Quote / priceForCapacity : ex2Base, + // makerSide === 'buy' ? ex1Base : ex1Quote / priceForCapacity, + // ); + + // let makerEx = capacity1 >= capacity2 ? ex1 : ex2; + // let takerEx = capacity1 >= capacity2 ? ex2 : ex1; + // let maxCapacity = capacity1 >= capacity2 ? capacity1 : capacity2; + + // if (!maxCapacity || maxCapacity <= 0 || maxCapacity < minAmt) { + // this.logger.warn( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: insufficient combined balance. ` + + // `ex1Base=${ex1Base.toFixed(8)} ex1Quote=${ex1Quote.toFixed(8)} ex2Base=${ex2Base.toFixed( + // 8, + // )} ex2Quote=${ex2Quote.toFixed(8)}`, + // ); + // return; + // } + + // // Maker orderbook (reuse ex1 book if makerEx is ex1) + // const makerBook = makerEx === ex1 ? book1 : await makerEx.fetchOrderBook(symbol); + // const makerBid = makerBook.bids[0]?.[0]; + // const makerAsk = makerBook.asks[0]?.[0]; + // if (!makerBid || !makerAsk) throw new Error(`Empty orderbook on maker exchange ${makerEx.id}`); + + // const mid = (makerBid + makerAsk) / 2; + // const makerRawPrice = Math.max(mid, minPrice || 1e-12); + // const makerPrice = priceToPrec( + // makerRawPrice * (1 + Math.random() * 0.0007 * (Math.random() < 0.5 ? -1 : 1)), + // ); + + // let rawAmt = Math.min(baseTradeAmount, maxCapacity) * 0.99; + // let amount = amtToPrec(rawAmt); + + // if (!amount || amount <= 0 || amount < minAmt) { + // this.logger.warn( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: computed amount too small. ` + + // `amount=${amount} minAmt=${minAmt} maxCapacity=${maxCapacity}`, + // ); + // return; + // } + + // // Helper to recompute capacity after switching maker/taker + // const computeCapacity = (me: ccxt.Exchange, te: ccxt.Exchange) => { + // const bMaker = me === ex1 ? bal1 : bal2; + // const bTaker = te === ex1 ? bal1 : bal2; + + // const mBase = Number(bMaker.free[base] ?? 0); + // const mQuote = Number(bMaker.free[quote] ?? 0); + // const tBase = Number(bTaker.free[base] ?? 0); + // const tQuote = Number(bTaker.free[quote] ?? 0); + + // const mMax = makerSide === 'buy' ? mQuote / priceForCapacity : mBase; + // const tMax = makerSide === 'buy' ? tBase : tQuote / priceForCapacity; + + // return Math.min(mMax, tMax); + // }; + + // let makerOrder: any; + // let takerOrder: any; + // let lastTakerPrice: number | undefined; + + // // ----------------------- + // // MAKER ORDER (with fallback) + // // ----------------------- + // try { + // makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { + // postOnly: true, + // }); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Maker order placed: ${makerOrder.id}`, + // ); + // } catch (e: any) { + // this.logger.warn( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: maker failed on ${makerEx.id}: ${e.message}. ` + + // `Switching maker/taker and recomputing amount.`, + // ); + + // // Swap roles + // const newMaker = makerEx === ex1 ? ex2 : ex1; + // const newTaker = makerEx === ex1 ? ex1 : ex2; + // makerEx = newMaker; + // takerEx = newTaker; + + // const cap = computeCapacity(makerEx, takerEx); + // if (!cap || cap <= 0 || cap < minAmt) { + // throw new Error(`Alternate maker/taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); + // } + + // const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); + // if (!newAmt || newAmt <= 0 || newAmt < minAmt) { + // throw new Error(`Alternate maker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); + // } + + // amount = newAmt; + + // makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { + // postOnly: true, + // }); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate maker order placed: ${makerOrder.id}`, + // ); + // } + + // // ----------------------- + // // 30ms SAFETY DELAY + // // ----------------------- + // await new Promise((resolve) => setTimeout(resolve, 30)); + + // // ----------------------- + // // TAKER ORDER (LIMIT + IOC, with fallback) + // // ----------------------- + // try { + // const takerLimitPrice = makerPrice; + // lastTakerPrice = takerLimitPrice + takerLimitPrice * 0.0001; + + // takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { + // timeInForce: 'IOC', + // }); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Taker order placed: ${takerOrder.id}`, + // ); + // } catch (e: any) { + // this.logger.warn( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: taker failed on ${takerEx.id}: ${e.message}. ` + + // `Switching taker and recomputing amount.`, + // ); + + // const newTaker = takerEx === ex1 ? ex2 : ex1; + // takerEx = newTaker; + + // const cap = computeCapacity(makerEx, takerEx); + // if (!cap || cap <= 0 || cap < minAmt) { + // try { + // if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); + // } catch (_) {} + // throw new Error(`Alternate taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); + // } + + // const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); + // if (!newAmt || newAmt <= 0 || newAmt < minAmt) { + // try { + // if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); + // } catch (_) {} + // throw new Error(`Alternate taker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); + // } + + // amount = newAmt; + + // const takerLimitPrice = makerPrice; + // lastTakerPrice = takerLimitPrice; + + // takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { + // timeInForce: 'IOC', + // }); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate taker order placed: ${takerOrder.id}`, + // ); + // } + + // // ----------------------- + // // LOG + FILL STATUS + PNL TRACKING + // // ----------------------- + // await new Promise((resolve) => setTimeout(resolve, 200)); // Brief delay for order status update + + // const [makerRes, takerRes] = await Promise.all([ + // makerEx.fetchOrder(makerOrder.id, symbol), + // takerEx.fetchOrder(takerOrder.id, symbol), + // ]); + + // const makerFilled = makerRes.filled ?? 0; + // const takerFilled = takerRes.filled ?? 0; + // const makerAvgPrice = makerRes.average ?? makerPrice; + // const takerAvgPrice = takerRes.average ?? (lastTakerPrice ?? makerPrice); + + // // Calculate PnL + // let tradePnL = 0; + // if (makerFilled > 0 && takerFilled > 0) { + // const filledAmount = Math.min(makerFilled, takerFilled); + + // if (makerSide === 'buy') { + // // We bought at makerAvgPrice and sold at takerAvgPrice + // tradePnL = (takerAvgPrice - makerAvgPrice) * filledAmount; + // } else { + // // We sold at makerAvgPrice and bought at takerAvgPrice + // tradePnL = (makerAvgPrice - takerAvgPrice) * filledAmount; + // } + + // totalPnL += tradePnL; + // } + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + // `Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} ` + + // `status=${makerRes.status} filled=${makerFilled}/${amount} avgPrice=${makerAvgPrice}`, + // ); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + // `Taker ${takerSide.toUpperCase()} ${amount} @ ${lastTakerPrice ?? 'N/A'} on ${takerEx.id} ` + + // `status=${takerRes.status} filled=${takerFilled}/${amount} avgPrice=${takerAvgPrice}`, + // ); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + // `PnL: ${tradePnL >= 0 ? '+' : ''}${tradePnL.toFixed(8)} ${quote} | ` + + // `Cumulative: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)} ${quote}`, + // ); + + // tradesExecuted++; + // } catch (err: any) { + // this.logger.error( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: Error in trade cycle: ${err.message}`, + // ); + // } + // }; + + // const intervalId = setInterval(loop, Math.max(baseIntervalTime, 1) * 1000); + // this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); + + // this.logger.log( + // `Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}. ` + + // `postOnlySide=${postOnlySide} numTrades=${numTrades}`, + // ); + // } catch (e: any) { + // this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${e.message}`); + // } + // } + // async executeVolumeStrategy( + // exchangeName: string, + // symbol: string, + // baseIncrementPercentage: number, + // baseIntervalTime: number, + // baseTradeAmount: number, + // numTrades: number, + // userId: string, + // clientId: string, + // pricePushRate: number, + // postOnlySide: 'buy' | 'sell', + // ) { + // const strategyKey = createStrategyKey({ + // type: 'volume', + // user_id: userId, + // client_id: clientId, + // }); + + // try { + // let strategyInstance = await this.strategyInstanceRepository.findOne({ where: { strategyKey } }); + + // const ex1 = this.exchangeInitService.getExchange(exchangeName, 'default'); + // const ex2 = this.exchangeInitService.getExchange(exchangeName, 'account2'); + + // await Promise.all([ex1.loadMarkets(), ex2.loadMarkets()]); + + // const market = ex1.market(symbol); + // if (!market) throw new Error(`Market not found for ${symbol} on ${ex1.id}`); + + // const priceToPrec = (p: number) => Number(ex1.priceToPrecision(symbol, p)); + // const amtToPrec = (a: number) => Number(ex1.amountToPrecision(symbol, a)); + + // const minAmt = market.limits?.amount?.min ?? 0; + // const minPrice = market.limits?.price?.min ?? 0; + + // const startTicker = await ex1.fetchTicker(symbol); + // const startPrice = Number(startTicker.last); + + // const parameters = { + // exchangeName, + // symbol, + // baseIncrementPercentage, + // baseIntervalTime, + // baseTradeAmount, + // numTrades, + // userId, + // clientId, + // pricePushRate, + // postOnlySide, + // }; + + // if (!strategyInstance) { + // strategyInstance = this.strategyInstanceRepository.create({ + // strategyKey, + // userId, + // clientId, + // strategyType: 'volume', + // parameters, + // status: 'running', + // startPrice, + // }); + // // await this.strategyInstanceRepository.save(strategyInstance); + // } else { + // await this.strategyInstanceRepository.update( + // { strategyKey }, + // { status: 'running', updatedAt: new Date() }, + // ); + // } + + // let tradesExecuted = 0; + // let totalPnL = 0; // Track cumulative PnL + + // const oppositeSide = (s: 'buy' | 'sell'): 'buy' | 'sell' => (s === 'buy' ? 'sell' : 'buy'); + + // const loop = async () => { + // if (tradesExecuted >= numTrades) { + // this.logger.log( + // `Volume strategy [${strategyKey}] completed after ${numTrades} trades. ` + + // `Total PnL: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)}`, + // ); + // const inst = this.strategyInstances.get(strategyKey); + // if (inst?.intervalId) clearInterval(inst.intervalId); + // this.strategyInstances.delete(strategyKey); + // await this.strategyInstanceRepository.update( + // { strategyKey }, + // { status: 'stopped', updatedAt: new Date() }, + // ); + // return; + // } + + // const tradeNumber = tradesExecuted + 1; + + // try { + // await Promise.all([ + // this.cancelAllOrders(ex1, symbol, strategyKey), + // this.cancelAllOrders(ex2, symbol, strategyKey), + // ]); + + // const [bal1, bal2] = await Promise.all([ex1.fetchBalance(), ex2.fetchBalance()]); + + // const [base, quote] = symbol.split('/'); + + // const ex1Base = Number(bal1.free[base] ?? 0); + // const ex1Quote = Number(bal1.free[quote] ?? 0); + // const ex2Base = Number(bal2.free[base] ?? 0); + // const ex2Quote = Number(bal2.free[quote] ?? 0); + + // // Use ex1 orderbook as global reference + // const book1 = await ex1.fetchOrderBook(symbol); + // const bid1 = book1.bids[0]?.[0]; + // const ask1 = book1.asks[0]?.[0]; + // if (!bid1 || !ask1) throw new Error('Empty orderbook on ex1'); + + // const globalMid = (bid1 + ask1) / 2; + // const priceForCapacity = globalMid > 0 ? globalMid : minPrice || 1e-12; + + // // ----------------------- + // // ALTERNATE MAKER SIDE (BUY/SELL) EACH TRADE + // // Trade 1 => postOnlySide + // // Trade 2 => opposite + // // Trade 3 => postOnlySide + // // ... + // // ----------------------- + // const makerSide: 'buy' | 'sell' = + // tradeNumber % 2 === 1 ? postOnlySide : oppositeSide(postOnlySide); + // const takerSide: 'buy' | 'sell' = oppositeSide(makerSide); + + // // Capacity if ex1 = maker, ex2 = taker + // const capacity1 = Math.min( + // makerSide === 'buy' ? ex1Quote / priceForCapacity : ex1Base, + // makerSide === 'buy' ? ex2Base : ex2Quote / priceForCapacity, + // ); + + // // Capacity if ex2 = maker, ex1 = taker + // const capacity2 = Math.min( + // makerSide === 'buy' ? ex2Quote / priceForCapacity : ex2Base, + // makerSide === 'buy' ? ex1Base : ex1Quote / priceForCapacity, + // ); + + // let makerEx = capacity1 >= capacity2 ? ex1 : ex2; + // let takerEx = capacity1 >= capacity2 ? ex2 : ex1; + // let maxCapacity = capacity1 >= capacity2 ? capacity1 : capacity2; + + // if (!maxCapacity || maxCapacity <= 0 || maxCapacity < minAmt) { + // this.logger.warn( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: insufficient combined balance. ` + + // `ex1Base=${ex1Base.toFixed(8)} ex1Quote=${ex1Quote.toFixed(8)} ex2Base=${ex2Base.toFixed( + // 8, + // )} ex2Quote=${ex2Quote.toFixed(8)}`, + // ); + // return; + // } + + // // Maker orderbook (reuse ex1 book if makerEx is ex1) + // const makerBook = makerEx === ex1 ? book1 : await makerEx.fetchOrderBook(symbol); + // const makerBid = makerBook.bids[0]?.[0]; + // const makerAsk = makerBook.asks[0]?.[0]; + // if (!makerBid || !makerAsk) throw new Error(`Empty orderbook on maker exchange ${makerEx.id}`); + + // // ----------------------- + // // MAKER PRICE: within 7% of spread, excluding 2% + // // - BUY: top 15% of spread, excluding top 5% (near ask) + // // - SELL: bottom 15% of spread, excluding bottom 5% (near bid) + // // ----------------------- + // const spread = makerAsk - makerBid; + // const segPct = 0.15; + // const exclPct = 0.5; + + // const safeMinP = minPrice || 1e-12; + + // let makerRawPrice: number; + // if (!spread || spread <= 0) { + // const mid = (makerBid + makerAsk) / 2; + // makerRawPrice = Math.max(mid, safeMinP); + // } else { + // if (makerSide === 'buy') { + // const low = makerAsk - spread * segPct; // ask - 7% + // const high = makerAsk - spread * exclPct; // ask - 2% + // makerRawPrice = low + Math.random() * (high - low); + // } else { + // const low = makerBid + spread * exclPct; // bid + 2% + // const high = makerBid + spread * segPct; // bid + 7% + // makerRawPrice = low + Math.random() * (high - low); + // } + // makerRawPrice = Math.max(makerRawPrice, safeMinP); + // } + + // const makerPrice = priceToPrec(makerRawPrice); + + // let rawAmt = Math.min(baseTradeAmount, maxCapacity) * 0.99; + // let amount = amtToPrec(rawAmt); + + // if (!amount || amount <= 0 || amount < minAmt) { + // this.logger.warn( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: computed amount too small. ` + + // `amount=${amount} minAmt=${minAmt} maxCapacity=${maxCapacity}`, + // ); + // return; + // } + + // // Helper to recompute capacity after switching maker/taker + // const computeCapacity = (me: ccxt.Exchange, te: ccxt.Exchange) => { + // const bMaker = me === ex1 ? bal1 : bal2; + // const bTaker = te === ex1 ? bal1 : bal2; + + // const mBase = Number(bMaker.free[base] ?? 0); + // const mQuote = Number(bMaker.free[quote] ?? 0); + // const tBase = Number(bTaker.free[base] ?? 0); + // const tQuote = Number(bTaker.free[quote] ?? 0); + + // const mMax = makerSide === 'buy' ? mQuote / priceForCapacity : mBase; + // const tMax = makerSide === 'buy' ? tBase : tQuote / priceForCapacity; + + // return Math.min(mMax, tMax); + // }; + + // let makerOrder: any; + // let takerOrder: any; + // let lastTakerPrice: number | undefined; + + // // ----------------------- + // // MAKER ORDER (with fallback) + // // ----------------------- + // try { + // makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { + // postOnly: true, + // }); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Maker order placed: ${makerOrder.id}`, + // ); + // } catch (e: any) { + // this.logger.warn( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: maker failed on ${makerEx.id}: ${e.message}. ` + + // `Switching maker/taker and recomputing amount.`, + // ); + + // // Swap roles + // const newMaker = makerEx === ex1 ? ex2 : ex1; + // const newTaker = makerEx === ex1 ? ex1 : ex2; + // makerEx = newMaker; + // takerEx = newTaker; + + // const cap = computeCapacity(makerEx, takerEx); + // if (!cap || cap <= 0 || cap < minAmt) { + // throw new Error(`Alternate maker/taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); + // } + + // const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); + // if (!newAmt || newAmt <= 0 || newAmt < minAmt) { + // throw new Error(`Alternate maker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); + // } + + // amount = newAmt; + + // makerOrder = await makerEx.createOrder(symbol, 'limit', makerSide, amount, makerPrice, { + // postOnly: true, + // }); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate maker order placed: ${makerOrder.id}`, + // ); + // } + + // // ----------------------- + // // 30ms SAFETY DELAY + // // ----------------------- + // await new Promise((resolve) => setTimeout(resolve, 30)); + + // // ----------------------- + // // TAKER ORDER (LIMIT + IOC, with fallback) + // // ----------------------- + // try { + // const takerLimitPrice = makerPrice; + // lastTakerPrice = takerLimitPrice + takerLimitPrice * 0.0001; + + // takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { + // timeInForce: 'IOC', + // }); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Taker order placed: ${takerOrder.id}`, + // ); + // } catch (e: any) { + // this.logger.warn( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: taker failed on ${takerEx.id}: ${e.message}. ` + + // `Switching taker and recomputing amount.`, + // ); + + // const newTaker = takerEx === ex1 ? ex2 : ex1; + // takerEx = newTaker; + + // const cap = computeCapacity(makerEx, takerEx); + // if (!cap || cap <= 0 || cap < minAmt) { + // try { + // if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); + // } catch (_) {} + // throw new Error(`Alternate taker insufficient balance for Trade ${tradeNumber} / ${numTrades}`); + // } + + // const newAmt = amtToPrec(Math.min(baseTradeAmount, cap)); + // if (!newAmt || newAmt <= 0 || newAmt < minAmt) { + // try { + // if (makerOrder?.id) await makerEx.cancelOrder(makerOrder.id, symbol); + // } catch (_) {} + // throw new Error(`Alternate taker amount below minAmt for Trade ${tradeNumber} / ${numTrades}`); + // } + + // amount = newAmt; + + // const takerLimitPrice = makerPrice; + // lastTakerPrice = takerLimitPrice; + + // takerOrder = await takerEx.createOrder(symbol, 'limit', takerSide, amount, takerLimitPrice, { + // timeInForce: 'IOC', + // }); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + `Alternate taker order placed: ${takerOrder.id}`, + // ); + // } + + // // ----------------------- + // // LOG + FILL STATUS + PNL TRACKING + // // ----------------------- + // await new Promise((resolve) => setTimeout(resolve, 200)); // Brief delay for order status update + + // const [makerRes, takerRes] = await Promise.all([ + // makerEx.fetchOrder(makerOrder.id, symbol), + // takerEx.fetchOrder(takerOrder.id, symbol), + // ]); + + // const makerFilled = makerRes.filled ?? 0; + // const takerFilled = takerRes.filled ?? 0; + // const makerAvgPrice = makerRes.average ?? makerPrice; + // const takerAvgPrice = takerRes.average ?? (lastTakerPrice ?? makerPrice); + + // // Calculate PnL + // let tradePnL = 0; + // if (makerFilled > 0 && takerFilled > 0) { + // const filledAmount = Math.min(makerFilled, takerFilled); + + // if (makerSide === 'buy') { + // // We bought at makerAvgPrice and sold at takerAvgPrice + // tradePnL = (takerAvgPrice - makerAvgPrice) * filledAmount; + // } else { + // // We sold at makerAvgPrice and bought at takerAvgPrice + // tradePnL = (makerAvgPrice - takerAvgPrice) * filledAmount; + // } + + // totalPnL += tradePnL; + // } + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + // `Maker ${makerSide.toUpperCase()} ${amount} @ ${makerPrice} on ${makerEx.id} ` + + // `status=${makerRes.status} filled=${makerFilled}/${amount} avgPrice=${makerAvgPrice}`, + // ); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + // `Taker ${takerSide.toUpperCase()} ${amount} @ ${lastTakerPrice ?? 'N/A'} on ${takerEx.id} ` + + // `status=${takerRes.status} filled=${takerFilled}/${amount} avgPrice=${takerAvgPrice}`, + // ); + + // this.logger.log( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: ` + + // `PnL: ${tradePnL >= 0 ? '+' : ''}${tradePnL.toFixed(8)} ${quote} | ` + + // `Cumulative: ${totalPnL >= 0 ? '+' : ''}${totalPnL.toFixed(8)} ${quote}`, + // ); + + // tradesExecuted++; + // } catch (err: any) { + // this.logger.error( + // `[${strategyKey}] Trade ${tradeNumber} / ${numTrades}: Error in trade cycle: ${err.message}`, + // ); + // } + // }; + + // const intervalId = setInterval(loop, Math.max(baseIntervalTime, 1) * 1000); + // this.strategyInstances.set(strategyKey, { isRunning: true, intervalId }); + + // this.logger.log( + // `Volume strategy [${strategyKey}] started on ${exchangeName} for ${symbol}. ` + + // `postOnlySide=${postOnlySide} numTrades=${numTrades}`, + // ); + // } catch (e: any) { + // this.logger.error(`Failed to execute volume strategy [${strategyKey}]: ${e.message}`); + // } + // } /** * Cancel leftover orders for a given exchange, symbol, and strategyKey. - */pm2 + */ private async cancelAllOrders( exchange: ccxt.Exchange, pair: string, @@ -1560,29 +1589,35 @@ async executeVolumeStrategy( order = await exchange.fetchOrder(orderId, symbol); } } -stopVolumeStrategy(userId: string, clientId: string) { - const strategyKey = createStrategyKey({ - type: 'volume', - user_id: userId, - client_id: clientId, - }); - const inst = this.strategyInstances.get(strategyKey); - - if (inst?.intervalId) { - clearInterval(inst.intervalId); - } + stopVolumeStrategy(userId: string, clientId: string) { + const strategyKey = createStrategyKey({ + type: 'volume', + user_id: userId, + client_id: clientId, + }); + const inst = this.strategyInstances.get(strategyKey); - this.strategyInstances.delete(strategyKey); + if (inst?.intervalId) { + clearInterval(inst.intervalId); + } - this.strategyInstanceRepository - .update({ strategyKey }, { status: 'stopped', updatedAt: new Date() }) - .then(() => this.logger.log(`Volume strategy ${strategyKey} stopped.`)) - .catch((e) => this.logger.error(`Failed to mark ${strategyKey} stopped: ${e.message}`)); + this.strategyInstances.delete(strategyKey); - this.cancelAllStrategyOrders(strategyKey).catch((e) => - this.logger.error(`Failed canceling orders for ${strategyKey}: ${e.message}`), - ); -} + this.strategyInstanceRepository + .update({ strategyKey }, { status: 'stopped', updatedAt: new Date() }) + .then(() => this.logger.log(`Volume strategy ${strategyKey} stopped.`)) + .catch((e) => + this.logger.error( + `Failed to mark ${strategyKey} stopped: ${e.message}`, + ), + ); + + this.cancelAllStrategyOrders(strategyKey).catch((e) => + this.logger.error( + `Failed canceling orders for ${strategyKey}: ${e.message}`, + ), + ); + } private async watchSymbols( exchangeA: ccxt.Exchange, @@ -1900,7 +1935,6 @@ stopVolumeStrategy(userId: string, clientId: string) { } } - private async adjustOrderParameters( exchange: ccxt.Exchange, symbol: string, diff --git a/server/src/modules/trade/trade.service.ts b/server/src/modules/trade/trade.service.ts index 14f3b7ee..160ca187 100644 --- a/server/src/modules/trade/trade.service.ts +++ b/server/src/modules/trade/trade.service.ts @@ -79,7 +79,9 @@ export class TradeService { side, amount, ); - this.logger.log(`Market trade executed ${order.amount} @ ${order.average}`); + this.logger.log( + `Market trade executed ${order.amount} @ ${order.average}`, + ); await this.tradeRepository.createTrade({ userId, clientId, @@ -121,7 +123,11 @@ export class TradeService { amount, price, ); - this.logger.log(`Limit trade executed: ${JSON.stringify(order.amount)} @ ${JSON.stringify(order.price)}`); + this.logger.log( + `Limit trade executed: ${JSON.stringify( + order.amount, + )} @ ${JSON.stringify(order.price)}`, + ); await this.tradeRepository.createTrade({ userId, From 2d2ef8f61d8adac0b59aa6a2c2e3872085e9a873 Mon Sep 17 00:00:00 2001 From: Faouzijedidi1 Date: Tue, 24 Feb 2026 10:36:53 +0000 Subject: [PATCH 21/21] add defi adapters --- server/src/defi/abis.ts | 23 ++++ server/src/defi/adapter-registry.ts | 26 +++++ server/src/defi/adapters/dex-adapter.ts | 59 +++++++++++ server/src/defi/adapters/pancakeV3.adapter.ts | 100 ++++++++++++++++++ server/src/defi/adapters/uniswapV3.adapter.ts | 97 +++++++++++++++++ server/src/defi/addresses.ts | 46 ++++++++ server/src/defi/utils/erc20.ts | 26 +++++ server/src/defi/utils/pricing.ts | 22 ++++ 8 files changed, 399 insertions(+) create mode 100644 server/src/defi/abis.ts create mode 100644 server/src/defi/adapter-registry.ts create mode 100644 server/src/defi/adapters/dex-adapter.ts create mode 100644 server/src/defi/adapters/pancakeV3.adapter.ts create mode 100644 server/src/defi/adapters/uniswapV3.adapter.ts create mode 100644 server/src/defi/addresses.ts create mode 100644 server/src/defi/utils/erc20.ts create mode 100644 server/src/defi/utils/pricing.ts diff --git a/server/src/defi/abis.ts b/server/src/defi/abis.ts new file mode 100644 index 00000000..a08311de --- /dev/null +++ b/server/src/defi/abis.ts @@ -0,0 +1,23 @@ +export const ERC20_ABI = [ + 'function balanceOf(address) view returns (uint256)', + 'function decimals() view returns (uint8)', + 'function allowance(address owner, address spender) view returns (uint256)', + 'function approve(address spender, uint256 value) returns (bool)', +]; + +export const UNISWAP_V3_FACTORY_ABI = [ + 'function getPool(address tokenA, address tokenB, uint24 fee) external view returns (address pool)', +]; + +export const UNISWAP_V3_POOL_ABI = [ + 'function slot0() external view returns (uint160 sqrtPriceX96,int24 tick,uint16 observationIndex,uint16 observationCardinality,uint16 observationCardinalityNext,uint8 feeProtocol,bool unlocked)', + 'function liquidity() external view returns (uint128)', +]; + +export const UNISWAP_V3_QUOTER_V2_ABI = [ + 'function quoteExactInputSingle((address tokenIn,address tokenOut,uint256 amountIn,uint24 fee,uint160 sqrtPriceLimitX96)) external returns (uint256 amountOut,uint160 sqrtPriceX96After,uint32 initializedTicksCrossed,uint256 gasEstimate)', +]; + +export const UNISWAP_V3_ROUTER_ABI = [ + 'function exactInputSingle((address tokenIn,address tokenOut,uint24 fee,address recipient,uint256 deadline,uint256 amountIn,uint256 amountOutMinimum,uint160 sqrtPriceLimitX96)) payable returns (uint256 amountOut)', +]; diff --git a/server/src/defi/adapter-registry.ts b/server/src/defi/adapter-registry.ts new file mode 100644 index 00000000..d8ab5ff9 --- /dev/null +++ b/server/src/defi/adapter-registry.ts @@ -0,0 +1,26 @@ +import { Injectable } from '@nestjs/common'; +import type { DexId } from './addresses'; +import type { DexAdapter } from './adapters/dex-adapter'; +import { UniswapV3Adapter } from './adapters/uniswapV3.adapter'; +import { PancakeV3Adapter } from './adapters/pancakeV3.adapter'; + +@Injectable() +export class DexAdapterRegistry { + private readonly adapters: Record; + + constructor( + private readonly uniV3: UniswapV3Adapter, + private readonly cakeV3: PancakeV3Adapter, + ) { + this.adapters = { + uniswapV3: uniV3, + pancakeV3: cakeV3, + }; + } + + get(id: DexId): DexAdapter { + const a = this.adapters[id]; + if (!a) throw new Error(`No adapter for id ${id}`); + return a; + } +} diff --git a/server/src/defi/adapters/dex-adapter.ts b/server/src/defi/adapters/dex-adapter.ts new file mode 100644 index 00000000..a45c4e3b --- /dev/null +++ b/server/src/defi/adapters/dex-adapter.ts @@ -0,0 +1,59 @@ +import { BigNumber, ethers } from 'ethers'; +import type { DexId } from '../addresses'; + +export type QuoteSingleParams = { + tokenIn: string; + tokenOut: string; + fee: number; // v3 fee tier (500/3000/10000) + amountIn: BigNumber; + sqrtPriceLimitX96?: BigNumber | number; +}; + +export type ExactInputSingleParams = { + tokenIn: string; + tokenOut: string; + fee: number; + recipient: string; + deadline: number; + amountIn: BigNumber; + amountOutMinimum: BigNumber; + sqrtPriceLimitX96?: BigNumber | number; +}; + +export interface DexAdapter { + readonly id: DexId; + supportsChain(chainId: number): boolean; + + getAddresses(chainId: number): { + factory: string; + router: string; + quoterV2: string; + weth: string; + }; + + getPool( + provider: ethers.providers.Provider, + chainId: number, + tokenIn: string, + tokenOut: string, + fee: number, + ): Promise; + + quoteExactInputSingle( + provider: ethers.providers.Provider, + chainId: number, + p: QuoteSingleParams, + ): Promise<{ amountOut: BigNumber }>; + + estimateGasExactInputSingle( + signer: ethers.Signer, + chainId: number, + p: ExactInputSingleParams, + ): Promise; + + exactInputSingle( + signer: ethers.Signer, + chainId: number, + p: ExactInputSingleParams, + ): Promise; +} diff --git a/server/src/defi/adapters/pancakeV3.adapter.ts b/server/src/defi/adapters/pancakeV3.adapter.ts new file mode 100644 index 00000000..10763124 --- /dev/null +++ b/server/src/defi/adapters/pancakeV3.adapter.ts @@ -0,0 +1,100 @@ +import { Injectable } from '@nestjs/common'; +import { BigNumber, ethers } from 'ethers'; +import { DEX_ADDRESSES } from '../addresses'; +import { + DexAdapter, + ExactInputSingleParams, + QuoteSingleParams, +} from './dex-adapter'; +import { + UNISWAP_V3_FACTORY_ABI, + UNISWAP_V3_QUOTER_V2_ABI, + UNISWAP_V3_ROUTER_ABI, +} from '../abis'; + +/** + * Pancake v3 is a Uniswap v3 fork; ABIs are compatible. Addresses must be set in DEX_ADDRESSES.pancakeV3. + */ +@Injectable() +export class PancakeV3Adapter implements DexAdapter { + readonly id = 'pancakeV3' as const; + + supportsChain(chainId: number): boolean { + return !!DEX_ADDRESSES.pancakeV3[chainId]; + } + + getAddresses(chainId: number) { + const a = DEX_ADDRESSES.pancakeV3[chainId]; + if (!a) throw new Error(`PancakeV3 not configured for chain ${chainId}`); + return a; + } + + async getPool( + provider: ethers.providers.Provider, + chainId: number, + tokenIn: string, + tokenOut: string, + fee: number, + ) { + const { factory } = this.getAddresses(chainId); + const c = new ethers.Contract(factory, UNISWAP_V3_FACTORY_ABI, provider); + return await c.getPool(tokenIn, tokenOut, fee); + } + + async quoteExactInputSingle( + provider: ethers.providers.Provider, + chainId: number, + p: QuoteSingleParams, + ) { + const { quoterV2 } = this.getAddresses(chainId); + const q = new ethers.Contract(quoterV2, UNISWAP_V3_QUOTER_V2_ABI, provider); + const res = await q.callStatic.quoteExactInputSingle({ + tokenIn: p.tokenIn, + tokenOut: p.tokenOut, + amountIn: p.amountIn, + fee: p.fee, + sqrtPriceLimitX96: p.sqrtPriceLimitX96 ?? 0, + }); + return { amountOut: res[0] as BigNumber }; + } + + async estimateGasExactInputSingle( + signer: ethers.Signer, + chainId: number, + p: ExactInputSingleParams, + ) { + const { router } = this.getAddresses(chainId); + const r = new ethers.Contract(router, UNISWAP_V3_ROUTER_ABI, signer); + return await r.estimateGas.exactInputSingle({ + tokenIn: p.tokenIn, + tokenOut: p.tokenOut, + fee: p.fee, + recipient: p.recipient, + deadline: p.deadline, + amountIn: p.amountIn, + amountOutMinimum: p.amountOutMinimum, + sqrtPriceLimitX96: p.sqrtPriceLimitX96 ?? 0, + }); + } + + async exactInputSingle( + signer: ethers.Signer, + chainId: number, + p: ExactInputSingleParams, + ) { + const { router } = this.getAddresses(chainId); + const r = new ethers.Contract(router, UNISWAP_V3_ROUTER_ABI, signer); + const tx = await r.exactInputSingle({ + tokenIn: p.tokenIn, + tokenOut: p.tokenOut, + fee: p.fee, + recipient: p.recipient, + deadline: p.deadline, + amountIn: p.amountIn, + amountOutMinimum: p.amountOutMinimum, + sqrtPriceLimitX96: p.sqrtPriceLimitX96 ?? 0, + }); + const rcpt = await tx.wait(); + return rcpt; + } +} diff --git a/server/src/defi/adapters/uniswapV3.adapter.ts b/server/src/defi/adapters/uniswapV3.adapter.ts new file mode 100644 index 00000000..83078e44 --- /dev/null +++ b/server/src/defi/adapters/uniswapV3.adapter.ts @@ -0,0 +1,97 @@ +import { Injectable } from '@nestjs/common'; +import { BigNumber, ethers } from 'ethers'; +import { DEX_ADDRESSES } from '../addresses'; +import { + DexAdapter, + ExactInputSingleParams, + QuoteSingleParams, +} from './dex-adapter'; +import { + UNISWAP_V3_FACTORY_ABI, + UNISWAP_V3_QUOTER_V2_ABI, + UNISWAP_V3_ROUTER_ABI, +} from '../abis'; + +@Injectable() +export class UniswapV3Adapter implements DexAdapter { + readonly id = 'uniswapV3' as const; + + supportsChain(chainId: number): boolean { + return !!DEX_ADDRESSES.uniswapV3[chainId]; + } + + getAddresses(chainId: number) { + const a = DEX_ADDRESSES.uniswapV3[chainId]; + if (!a) throw new Error(`UniswapV3 not configured for chain ${chainId}`); + return a; + } + + async getPool( + provider: ethers.providers.Provider, + chainId: number, + tokenIn: string, + tokenOut: string, + fee: number, + ) { + const { factory } = this.getAddresses(chainId); + const c = new ethers.Contract(factory, UNISWAP_V3_FACTORY_ABI, provider); + return await c.getPool(tokenIn, tokenOut, fee); + } + + async quoteExactInputSingle( + provider: ethers.providers.Provider, + chainId: number, + p: QuoteSingleParams, + ) { + const { quoterV2 } = this.getAddresses(chainId); + const q = new ethers.Contract(quoterV2, UNISWAP_V3_QUOTER_V2_ABI, provider); + const res = await q.callStatic.quoteExactInputSingle({ + tokenIn: p.tokenIn, + tokenOut: p.tokenOut, + amountIn: p.amountIn, + fee: p.fee, + sqrtPriceLimitX96: p.sqrtPriceLimitX96 ?? 0, + }); + return { amountOut: res[0] as BigNumber }; + } + + async estimateGasExactInputSingle( + signer: ethers.Signer, + chainId: number, + p: ExactInputSingleParams, + ) { + const { router } = this.getAddresses(chainId); + const r = new ethers.Contract(router, UNISWAP_V3_ROUTER_ABI, signer); + return await r.estimateGas.exactInputSingle({ + tokenIn: p.tokenIn, + tokenOut: p.tokenOut, + fee: p.fee, + recipient: p.recipient, + deadline: p.deadline, + amountIn: p.amountIn, + amountOutMinimum: p.amountOutMinimum, + sqrtPriceLimitX96: p.sqrtPriceLimitX96 ?? 0, + }); + } + + async exactInputSingle( + signer: ethers.Signer, + chainId: number, + p: ExactInputSingleParams, + ) { + const { router } = this.getAddresses(chainId); + const r = new ethers.Contract(router, UNISWAP_V3_ROUTER_ABI, signer); + const tx = await r.exactInputSingle({ + tokenIn: p.tokenIn, + tokenOut: p.tokenOut, + fee: p.fee, + recipient: p.recipient, + deadline: p.deadline, + amountIn: p.amountIn, + amountOutMinimum: p.amountOutMinimum, + sqrtPriceLimitX96: p.sqrtPriceLimitX96 ?? 0, + }); + const rcpt = await tx.wait(); + return rcpt; + } +} diff --git a/server/src/defi/addresses.ts b/server/src/defi/addresses.ts new file mode 100644 index 00000000..be1db6f9 --- /dev/null +++ b/server/src/defi/addresses.ts @@ -0,0 +1,46 @@ +export type DexId = 'uniswapV3' | 'pancakeV3'; + +export type DexAddresses = { + factory: string; + router: string; + quoterV2: string; + weth: string; // canonical wrapped native for the chain +}; + +/** + * IMPORTANT: Only put addresses you are certain about. + * Fill in Pancake v3 addresses + */ +export const DEX_ADDRESSES: Record> = { + uniswapV3: { + // Ethereum mainnet + 1: { + factory: '0x1F98431c8aD98523631AE4a59f267346ea31F984', + router: '0xE592427A0AEce92De3Edee1F18E0157C05861564', + quoterV2: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e', + weth: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', + }, + // Arbitrum + 42161: { + factory: '0x1F98431c8aD98523631AE4a59f267346ea31F984', + router: '0xE592427A0AEce92De3Edee1F18E0157C05861564', + quoterV2: '0x655C406EBFa14EE2006250925e54ec43AD184f8B', + weth: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', + }, + // Polygon + 137: { + factory: '0x1F98431c8aD98523631AE4a59f267346ea31F984', + router: '0xE592427A0AEce92De3Edee1F18E0157C05861564', + quoterV2: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e', + weth: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619', + }, + }, + pancakeV3: { + 56: { + factory: '0xD7B6E04e3C8939A58A1d2641d3cA70E3fB1d6e48', + router: '0x8F352E7bD04327e9DF20D4fE3259Dce0a1B0Fc75', + quoterV2: '0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6', // Same interface as Uniswap V3 Quoter + weth: '0xBB4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c', // WBNB + }, + }, +}; diff --git a/server/src/defi/utils/erc20.ts b/server/src/defi/utils/erc20.ts new file mode 100644 index 00000000..51df6632 --- /dev/null +++ b/server/src/defi/utils/erc20.ts @@ -0,0 +1,26 @@ +import { BigNumber, ethers } from 'ethers'; +import { ERC20_ABI } from '../abis'; + +export async function readDecimals( + provider: ethers.providers.Provider, + token: string, +) { + if (token === ethers.constants.AddressZero) return 18; + const erc = new ethers.Contract(token, ERC20_ABI, provider); + return await erc.decimals(); +} + +export async function ensureAllowance( + signer: ethers.Signer, + token: string, + owner: string, + spender: string, + needed: BigNumber, +) { + const erc = new ethers.Contract(token, ERC20_ABI, signer); + const allowance: BigNumber = await erc.allowance(owner, spender); + if (allowance.lt(needed)) { + const tx = await erc.approve(spender, ethers.constants.MaxUint256); + await tx.wait(); + } +} diff --git a/server/src/defi/utils/pricing.ts b/server/src/defi/utils/pricing.ts new file mode 100644 index 00000000..520612bd --- /dev/null +++ b/server/src/defi/utils/pricing.ts @@ -0,0 +1,22 @@ +import { BigNumber } from 'ethers'; + +export function priceFromSqrtX96( + sqrtPriceX96: BigNumber, + token0Decimals: number, + token1Decimals: number, +): number { + const TWO_96 = BigNumber.from(2).pow(96); + const num = sqrtPriceX96.mul(sqrtPriceX96); + const base = num.mul(BigNumber.from(10).pow(token0Decimals)); + const denom = TWO_96.mul(TWO_96).mul(BigNumber.from(10).pow(token1Decimals)); + return parseFloat(base.mul(1_000_000).div(denom).toString()) / 1_000_000; +} + +export function pctToBps(pct: number) { + return Math.round(pct * 100); +} + +export function clampJitter(base: number, jitterPct: number) { + const r = (Math.random() * 2 - 1) * (jitterPct / 100); + return base * (1 + r); +}

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
txvcsV2zO*+j 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�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