From b9c36d31d004243092e2bdace98da066143fbbf1 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Tue, 12 Jul 2022 23:00:42 +0200 Subject: [PATCH 01/64] all tests with mode + tiles --- src/utils.ts | 81 +++++++++++++++++++++++++++++---------------- tests/utils.spec.ts | 53 ++++++++++++++++++++--------- 2 files changed, 89 insertions(+), 45 deletions(-) diff --git a/src/utils.ts b/src/utils.ts index 9b44569..1bafa7e 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -17,52 +17,75 @@ export const isSubmultiple = (numerator: any, denominator: any): boolean => isNa export const validPairSubmultiples = (numerator1: any, denominator1: any, numerator2: any, denominator2: any): boolean => isSubmultiple(numerator1, denominator1) && isSubmultiple(numerator2, denominator2) -export const parseModeSlices = (mode: Mode, tiles: any, size: Size): boolean => { +export const parseUnique = (tiles: any): boolean => { + if (tiles.unique !== undefined && typeof tiles.unique !== 'boolean') { + throw new SpliteaError('unique property should be boolean, only admits true or false value') + } + return true +} + +const checkModeGrid = (rows: any, columns: any, width: any, height: any, size: Size): void => { + // Are Natural Numbers -> Columns + Rows || Width + Height + if (!(validPairNaturalNumbers(rows, columns) || validPairNaturalNumbers(width, height))) { + throw new SpliteaError('you need to provide two natural numbers, columns + rows or height (px) + width (px)') + } + // Are Submultiples Numbers of Size -> Columns + Rows || Width + Height + if (!(validPairSubmultiples(size.height, rows, size.width, columns) || validPairSubmultiples(size.width, width, size.height, height))) { + throw new SpliteaError(`you need to provide two natural submultiples of ${size.width} and ${size.height}, columns + rows or width (px) + height (px)`) + } +} + +const checkModeHorizontal = (columns: any, width: any, size: Size): void => { + // Are Natural Numbers -> Columns || Width + if (!(isNatural(columns) || isNatural(width))) { + const msg = 'you need to provide one natural number, columns or width (px)' + throw new SpliteaError(msg) + } + // Are Submultiples Numbers of Size -> Columns || Width + if (!(isSubmultiple(size.width, columns) || isSubmultiple(size.width, width))) { + throw new SpliteaError(`you need to provide one natural submultiple of ${size.width}, columns or width (px)`) + } +} + +const checkModeVertical = (rows: any, height: any, size: Size): void => { + // Are Natural Numbers -> Rows || Height + if (!(isNatural(rows) || isNatural(height))) { + const msg = 'you need to provide one natural number, rows or height (px)' + throw new SpliteaError(msg) + } + // Are Submultiples Numbers of Size -> Rows || Height + if (!(isSubmultiple(size.height, rows) || isSubmultiple(size.height, height))) { + throw new SpliteaError(`you need to provide one natural submultiple of ${size.height}, rows or height (px)`) + } +} + +export const parseModeTiles = (mode: Mode, tiles: any, size: Size): boolean => { + // Parse Mode parseMode(mode) + // Parse Tiles -> rows, columns, width, eight const { rows, columns, width, height } = tiles switch (mode) { // Mode Grid -> rows + columns || width + height case Mode.Grid: - // Are Natural Numbers -> Columns + Rows || Width + Height - if (!(validPairNaturalNumbers(rows, columns) || validPairNaturalNumbers(width, height))) { - throw new SpliteaError('you need to provide two natural numbers, columns + rows or height (px) + width (px)') - } - // Are Submultiples Numbers of Size -> Columns + Rows || Width + Height - if (!(validPairSubmultiples(size.height, rows, size.width, columns) || validPairSubmultiples(size.width, width, size.height, height))) { - throw new SpliteaError(`you need to provide two natural submultiples of ${size.width} and ${size.height}, columns + rows or width (px) + height (px)`) - } + checkModeGrid(rows, columns, width, height, size) break // Mode horizontal -> Columns || Width case Mode.Horizontal: - // Are Natural Numbers -> Columns || Width - if (!(isNatural(columns) || isNatural(width))) { - const msg = 'you need to provide one natural number, columns or width (px)' - throw new SpliteaError(msg) - } - // Are Submultiples Numbers of Size -> Columns || Width - if (!(isSubmultiple(size.width, columns) || isSubmultiple(size.width, width))) { - throw new SpliteaError(`you need to provide one natural submultiple of ${size.width}, columns or width (px)`) - } + checkModeHorizontal(columns, width, size) break // Mode Vertical -> Rows || Height case Mode.Vertical: - // Are Natural Numbers -> Rows || Height - if (!(isNatural(rows) || isNatural(height))) { - const msg = 'you need to provide one natural number, rows or height (px)' - throw new SpliteaError(msg) - } - // Are Submultiples Numbers of Size -> Rows || Height - if (!(isSubmultiple(size.height, rows) || isSubmultiple(size.height, height))) { - throw new SpliteaError(`you need to provide one natural submultiple of ${size.height}, rows or height (px)`) - } + checkModeVertical(rows, height, size) break } + // Parse Tiles.unique + parseUnique(tiles) return true } export const parseOptions = (options: any, size: Size): boolean => { - // Mode + Slices (Rows + Columns || Width + Height) - parseModeSlices(options.mode, options?.tiles, size) + // Mode + Tiles + parseModeTiles(options.mode, options?.tiles, size) // Name // Extension // Unique diff --git a/tests/utils.spec.ts b/tests/utils.spec.ts index 21f0693..1b751d2 100644 --- a/tests/utils.spec.ts +++ b/tests/utils.spec.ts @@ -2,7 +2,7 @@ import path from 'path' import { Mode } from '../src/enums' import { SpliteaError } from '../src/errors' import { Size, Tile } from '../src/types' -import { isNatural, isSubmultiple, parseMode, parseModeSlices, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' +import { isNatural, isSubmultiple, parseMode, parseModeTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' const imgFolder = path.join(__dirname, '..', 'examples') @@ -109,7 +109,28 @@ describe('Test Utils Module', () => { }) }) - describe('parseModeSlices', () => { + describe('parseUnique', () => { + test('Valid Unique', () => { + const tiles: any = {} + expect(parseUnique(tiles)).toBeTruthy() + tiles.unique = true + expect(parseUnique(tiles)).toBeTruthy() + tiles.unique = false + expect(parseUnique(tiles)).toBeTruthy() + }) + + test('Invalid Unique', () => { + const tiles: any = { unique: 0 } + const error = new SpliteaError('unique property should be boolean, only admits true or false value') + expect(() => parseUnique(tiles)).toThrow(error) + tiles.unique = 1 + expect(() => parseUnique(tiles)).toThrow(error) + tiles.unique = 'true' + expect(() => parseUnique(tiles)).toThrow(error) + }) + }) + + describe('parseModeTiles', () => { test('Grid', () => { const mode = Mode.Grid const size: Size = { width: imgTest.width, height: imgTest.height } @@ -118,37 +139,37 @@ describe('Test Utils Module', () => { // OK Rows & Columns tiles.rows = 2 tiles.columns = 2 - expect(parseModeSlices(mode, tiles, size)).toBeTruthy() + expect(parseModeTiles(mode, tiles, size)).toBeTruthy() // OK Width & Height tiles.rows = undefined tiles.columns = undefined tiles.width = 2 tiles.height = 2 - expect(parseModeSlices(mode, tiles, size)).toBeTruthy() + expect(parseModeTiles(mode, tiles, size)).toBeTruthy() // Fail Rows Ok Columns tiles.rows = 3 tiles.columns = 2 tiles.width = undefined tiles.height = undefined - expect(() => parseModeSlices(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) // Ok Rows Fail Columns tiles.rows = 2 tiles.columns = 3 tiles.width = undefined tiles.height = undefined - expect(() => parseModeSlices(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) // Fail Width & Ok Height tiles.rows = undefined tiles.columns = undefined tiles.width = 3 tiles.height = 2 - expect(() => parseModeSlices(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) // Ok Width & Fail Height tiles.rows = undefined tiles.columns = undefined tiles.width = 2 tiles.height = 3 - expect(() => parseModeSlices(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) }) test('Horizontal', () => { @@ -159,19 +180,19 @@ describe('Test Utils Module', () => { // OK Columns tiles.columns = 2 tiles.width = undefined - expect(parseModeSlices(mode, tiles, size)).toBeTruthy() + expect(parseModeTiles(mode, tiles, size)).toBeTruthy() // OK Width tiles.columns = undefined tiles.width = 2 - expect(parseModeSlices(mode, tiles, size)).toBeTruthy() + expect(parseModeTiles(mode, tiles, size)).toBeTruthy() // Fail Columns tiles.columns = 3 tiles.width = undefined - expect(() => parseModeSlices(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) // Fail Width tiles.columns = undefined tiles.width = 3 - expect(() => parseModeSlices(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) }) test('Vertical', () => { @@ -182,19 +203,19 @@ describe('Test Utils Module', () => { // OK Rows tiles.rows = 2 tiles.height = undefined - expect(parseModeSlices(mode, tiles, size)).toBeTruthy() + expect(parseModeTiles(mode, tiles, size)).toBeTruthy() // OK Height tiles.rows = undefined tiles.height = 2 - expect(parseModeSlices(mode, tiles, size)).toBeTruthy() + expect(parseModeTiles(mode, tiles, size)).toBeTruthy() // Fail Rows tiles.rows = 3 tiles.height = undefined - expect(() => parseModeSlices(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) // Fail Height tiles.rows = undefined tiles.height = 3 - expect(() => parseModeSlices(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) }) }) }) From dcb2336da9d3ed0ba5b5819dd866b328879cd792 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Wed, 13 Jul 2022 17:48:23 +0200 Subject: [PATCH 02/64] integrate mode into tiles property --- src/index.ts | 6 +++--- src/splitea.ts | 13 +++++++------ src/types.d.ts | 11 +++-------- src/utils.ts | 14 +++++--------- tests/utils.spec.ts | 43 ++++++++++++++++++++----------------------- 5 files changed, 38 insertions(+), 49 deletions(-) diff --git a/src/index.ts b/src/index.ts index 421c869..d2fc38a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,11 +1,11 @@ import path from 'path' import { Mode } from './enums' import { Splitea } from './splitea' -import { Options } from './types' +import { Tiles } from './types' const IMG = path.join(__dirname, '..', 'examples', 'mapabosque.png') console.log(IMG) -const OPTIONS: Options = { +const TILES: Tiles = { mode: Mode.Grid } @@ -15,6 +15,6 @@ const OPTIONS: Options = { // }) // .catch(err => console.log(err)) -Splitea(IMG, OPTIONS) +Splitea(IMG, TILES) .then(res => console.log(res)) .catch(error => console.error(error)) diff --git a/src/splitea.ts b/src/splitea.ts index 9732416..7f709d0 100644 --- a/src/splitea.ts +++ b/src/splitea.ts @@ -1,8 +1,7 @@ -// import path from 'path' import Jimp from 'jimp' import { SpliteaError, throwError } from './errors' -import { Size, Options, Images } from './types' -import { parseOptions } from './utils' +import { Size, Images, Tiles, Output } from './types' +import { parseOutput, parseTiles } from './utils' export const getSize = async (IMG: string): Promise => { try { @@ -24,13 +23,15 @@ export const readImage = async (image: string): Promise => { } } -export const Splitea = async (image: string, options?: Options): Promise => { +export const Splitea = async (image: string, tiles?: Tiles, output?: Output): Promise => { try { // Leer la imagen const img = await readImage(image) const size: Size = { width: img.bitmap.width, height: img.bitmap.height } - // Comprobar que las opciones son correctas - if (!parseOptions(options, size)) { throw new SpliteaError('Bad options') } + // Comprobar que las tiles son correctas + if (!parseTiles(tiles, size)) { throw new SpliteaError('Bad tiles options') } + // Comprobar que el output es correcto + if (!parseOutput(output)) { throw new SpliteaError('Bad output options') } // Obtener las imagenes cortadas // Quitar las iguales // Guardar las fotos diff --git a/src/types.d.ts b/src/types.d.ts index 338b808..a4da209 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -1,6 +1,6 @@ import Jimp from 'jimp/*' -import { Data, Extension } from './enums' +import { Data, Extension, Mode } from './enums' export type Image = string | Buffer | Jimp @@ -11,7 +11,8 @@ export interface Size { height: number } -export interface Tile { +export interface Tiles { + mode: Mode rows?: number columns?: number width?: number @@ -40,9 +41,3 @@ export interface Output { * 3.3 Name preffix to slices -> name * 3.4 Extension to slices -> extension => jpg | png | bmp | gif | tiff **/ - -export interface Options { - mode: Mode - tiles?: Tile - output?: Output -} diff --git a/src/utils.ts b/src/utils.ts index 1bafa7e..7f34d95 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -59,11 +59,11 @@ const checkModeVertical = (rows: any, height: any, size: Size): void => { } } -export const parseModeTiles = (mode: Mode, tiles: any, size: Size): boolean => { +export const parseTiles = (tiles: any, size: Size): boolean => { + const { mode, rows, columns, width, height } = tiles // Parse Mode parseMode(mode) // Parse Tiles -> rows, columns, width, eight - const { rows, columns, width, height } = tiles switch (mode) { // Mode Grid -> rows + columns || width + height case Mode.Grid: @@ -83,12 +83,8 @@ export const parseModeTiles = (mode: Mode, tiles: any, size: Size): boolean => { return true } -export const parseOptions = (options: any, size: Size): boolean => { - // Mode + Tiles - parseModeTiles(options.mode, options?.tiles, size) - // Name - // Extension - // Unique +export const parseOutput = (output: any): boolean => { + console.log(output) return true } @@ -185,4 +181,4 @@ export const parseOptions = (options: any, size: Size): boolean => { // console.log(error) // throw new SpliteaError('Problem writting vertical slices') // } -// } \ No newline at end of file +// } diff --git a/tests/utils.spec.ts b/tests/utils.spec.ts index 1b751d2..fb7ba15 100644 --- a/tests/utils.spec.ts +++ b/tests/utils.spec.ts @@ -1,8 +1,8 @@ import path from 'path' import { Mode } from '../src/enums' import { SpliteaError } from '../src/errors' -import { Size, Tile } from '../src/types' -import { isNatural, isSubmultiple, parseMode, parseModeTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' +import { Size, Tiles } from '../src/types' +import { isNatural, isSubmultiple, parseMode, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' const imgFolder = path.join(__dirname, '..', 'examples') @@ -130,92 +130,89 @@ describe('Test Utils Module', () => { }) }) - describe('parseModeTiles', () => { + describe('parseTiles', () => { test('Grid', () => { - const mode = Mode.Grid const size: Size = { width: imgTest.width, height: imgTest.height } const errorSubmultiple = new SpliteaError(`you need to provide two natural submultiples of ${size.width} and ${size.height}, columns + rows or width (px) + height (px)`) - const tiles: Tile = { rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } + const tiles: Tiles = { mode: Mode.Grid, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } // OK Rows & Columns tiles.rows = 2 tiles.columns = 2 - expect(parseModeTiles(mode, tiles, size)).toBeTruthy() + expect(parseTiles(tiles, size)).toBeTruthy() // OK Width & Height tiles.rows = undefined tiles.columns = undefined tiles.width = 2 tiles.height = 2 - expect(parseModeTiles(mode, tiles, size)).toBeTruthy() + expect(parseTiles(tiles, size)).toBeTruthy() // Fail Rows Ok Columns tiles.rows = 3 tiles.columns = 2 tiles.width = undefined tiles.height = undefined - expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) // Ok Rows Fail Columns tiles.rows = 2 tiles.columns = 3 tiles.width = undefined tiles.height = undefined - expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) // Fail Width & Ok Height tiles.rows = undefined tiles.columns = undefined tiles.width = 3 tiles.height = 2 - expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) // Ok Width & Fail Height tiles.rows = undefined tiles.columns = undefined tiles.width = 2 tiles.height = 3 - expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) }) test('Horizontal', () => { - const mode = Mode.Horizontal const size: Size = { width: imgTest.width, height: imgTest.height } const errorSubmultiple = new SpliteaError(`you need to provide one natural submultiple of ${size.width}, columns or width (px)`) - const tiles: Tile = { rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } + const tiles: Tiles = { mode: Mode.Horizontal, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } // OK Columns tiles.columns = 2 tiles.width = undefined - expect(parseModeTiles(mode, tiles, size)).toBeTruthy() + expect(parseTiles(tiles, size)).toBeTruthy() // OK Width tiles.columns = undefined tiles.width = 2 - expect(parseModeTiles(mode, tiles, size)).toBeTruthy() + expect(parseTiles(tiles, size)).toBeTruthy() // Fail Columns tiles.columns = 3 tiles.width = undefined - expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) // Fail Width tiles.columns = undefined tiles.width = 3 - expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) }) test('Vertical', () => { - const mode = Mode.Vertical const size: Size = { width: imgTest.width, height: imgTest.height } const errorSubmultiple = new SpliteaError(`you need to provide one natural submultiple of ${size.height}, rows or height (px)`) - const tiles: Tile = { rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } + const tiles: Tiles = { mode: Mode.Vertical, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } // OK Rows tiles.rows = 2 tiles.height = undefined - expect(parseModeTiles(mode, tiles, size)).toBeTruthy() + expect(parseTiles(tiles, size)).toBeTruthy() // OK Height tiles.rows = undefined tiles.height = 2 - expect(parseModeTiles(mode, tiles, size)).toBeTruthy() + expect(parseTiles(tiles, size)).toBeTruthy() // Fail Rows tiles.rows = 3 tiles.height = undefined - expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) // Fail Height tiles.rows = undefined tiles.height = 3 - expect(() => parseModeTiles(mode, tiles, size)).toThrow(errorSubmultiple) + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) }) }) }) From 9d2282ff9092bc5acfc63eaa0e793e7a35190d24 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Wed, 13 Jul 2022 18:07:17 +0200 Subject: [PATCH 03/64] tested output data --- src/utils.ts | 13 +- tests/utils.spec.ts | 383 +++++++++++++++++++++++--------------------- 2 files changed, 213 insertions(+), 183 deletions(-) diff --git a/src/utils.ts b/src/utils.ts index 7f34d95..5ac0ea4 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,4 +1,4 @@ -import { Mode } from './enums' +import { Data, Mode } from './enums' import { SpliteaError } from './errors' import { Size } from './types' @@ -83,8 +83,17 @@ export const parseTiles = (tiles: any, size: Size): boolean => { return true } +export const parseData = (data: any): boolean => { + const datas = [Data.Buffer, Data.Path] + if (!datas.includes(data)) { + throw new SpliteaError('Invalid output data, it should be "buffer" or "path"') + } + return true +} + export const parseOutput = (output: any): boolean => { - console.log(output) + const { data } = output + parseData(data) return true } diff --git a/tests/utils.spec.ts b/tests/utils.spec.ts index fb7ba15..44365aa 100644 --- a/tests/utils.spec.ts +++ b/tests/utils.spec.ts @@ -2,7 +2,7 @@ import path from 'path' import { Mode } from '../src/enums' import { SpliteaError } from '../src/errors' import { Size, Tiles } from '../src/types' -import { isNatural, isSubmultiple, parseMode, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' +import { isNatural, isSubmultiple, parseData, parseMode, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' const imgFolder = path.join(__dirname, '..', 'examples') @@ -14,205 +14,226 @@ const imgTest = { } describe('Test Utils Module', () => { - describe('parseMode', () => { - test('Invalid Modes', () => { - // No mode - let mode: any - const errorNoModeValid = new SpliteaError(`Invalid mode, only ${Mode.Grid}, ${Mode.Horizontal}, ${Mode.Vertical} is permitted`) - expect(() => parseMode(mode)).toThrow(errorNoModeValid) - // Invalid Modes - mode = 'aslkdfhaljkfhl' - expect(() => parseMode(mode)).toThrow(errorNoModeValid) - mode = 3 - expect(() => parseMode(mode)).toThrow(errorNoModeValid) + describe('Tiles', () => { + describe('parseMode', () => { + test('Invalid Modes', () => { + // No mode + let mode: any + const errorNoModeValid = new SpliteaError(`Invalid mode, only ${Mode.Grid}, ${Mode.Horizontal}, ${Mode.Vertical} is permitted`) + expect(() => parseMode(mode)).toThrow(errorNoModeValid) + // Invalid Modes + mode = 'aslkdfhaljkfhl' + expect(() => parseMode(mode)).toThrow(errorNoModeValid) + mode = 3 + expect(() => parseMode(mode)).toThrow(errorNoModeValid) + }) + + test('Valid Modes', () => { + // Valid Modes + let mode = Mode.Grid + expect(parseMode(mode)).toBe(mode) + mode = Mode.Horizontal + expect(parseMode(mode)).toBe(mode) + mode = Mode.Vertical + expect(parseMode(mode)).toBe(mode) + }) }) - test('Valid Modes', () => { - // Valid Modes - let mode = Mode.Grid - expect(parseMode(mode)).toBe(mode) - mode = Mode.Horizontal - expect(parseMode(mode)).toBe(mode) - mode = Mode.Vertical - expect(parseMode(mode)).toBe(mode) - }) - }) - - describe('isNatural', () => { - test('Negative integer', () => expect(isNatural(-1)).toBeFalsy()) - - test('Zero', () => expect(isNatural(0)).toBeFalsy()) - - test('Float', () => expect(isNatural(3.1)).toBeFalsy()) + describe('isNatural', () => { + test('Negative integer', () => expect(isNatural(-1)).toBeFalsy()) - test('Invalid types', () => { - expect(isNatural(undefined)).toBeFalsy() - expect(isNatural('adslfjha')).toBeFalsy() - expect(isNatural([1, 2])).toBeFalsy() - }) - - test('Valid natural numbers', () => { - expect(isNatural(4)).toBeTruthy() - expect(isNatural(4.0)).toBeTruthy() - }) - }) + test('Zero', () => expect(isNatural(0)).toBeFalsy()) - describe('validPairNaturalNumbers', () => { - test('Invalid numbers', () => { - expect(validPairNaturalNumbers(-1, 2)).toBeFalsy() - expect(validPairNaturalNumbers(2, -1)).toBeFalsy() - expect(validPairNaturalNumbers(2.1, 1)).toBeFalsy() - expect(validPairNaturalNumbers(1, 2.1)).toBeFalsy() - expect(validPairNaturalNumbers('1', 2)).toBeFalsy() - expect(validPairNaturalNumbers(1, '2')).toBeFalsy() - expect(validPairNaturalNumbers([1, 2], 2)).toBeFalsy() - expect(validPairNaturalNumbers(1, [3, 2])).toBeFalsy() - expect(validPairNaturalNumbers(1, undefined)).toBeFalsy() - expect(validPairNaturalNumbers(undefined, 2)).toBeFalsy() - }) + test('Float', () => expect(isNatural(3.1)).toBeFalsy()) - test('Valid numbers', () => { - expect(validPairNaturalNumbers(1, 2)).toBeTruthy() - expect(validPairNaturalNumbers(1.0, 2)).toBeTruthy() - expect(validPairNaturalNumbers(1, 2.0)).toBeTruthy() - }) - }) + test('Invalid types', () => { + expect(isNatural(undefined)).toBeFalsy() + expect(isNatural('adslfjha')).toBeFalsy() + expect(isNatural([1, 2])).toBeFalsy() + }) - describe('isSubmultiple', () => { - test('Invalid submultiples', () => { - expect(isSubmultiple(4, 2.1)).toBeFalsy() - expect(isSubmultiple(4, -2.0)).toBeFalsy() - expect(isSubmultiple(-4, 2.0)).toBeFalsy() - expect(isSubmultiple(-4, -2.0)).toBeFalsy() - expect(isSubmultiple('4', 2)).toBeFalsy() - expect(isSubmultiple(4, '2')).toBeFalsy() + test('Valid natural numbers', () => { + expect(isNatural(4)).toBeTruthy() + expect(isNatural(4.0)).toBeTruthy() + }) }) - test('Valid submultiples', () => { - expect(isSubmultiple(320, 2.0)).toBeTruthy() - expect(isSubmultiple(224.0, 2)).toBeTruthy() + describe('validPairNaturalNumbers', () => { + test('Invalid numbers', () => { + expect(validPairNaturalNumbers(-1, 2)).toBeFalsy() + expect(validPairNaturalNumbers(2, -1)).toBeFalsy() + expect(validPairNaturalNumbers(2.1, 1)).toBeFalsy() + expect(validPairNaturalNumbers(1, 2.1)).toBeFalsy() + expect(validPairNaturalNumbers('1', 2)).toBeFalsy() + expect(validPairNaturalNumbers(1, '2')).toBeFalsy() + expect(validPairNaturalNumbers([1, 2], 2)).toBeFalsy() + expect(validPairNaturalNumbers(1, [3, 2])).toBeFalsy() + expect(validPairNaturalNumbers(1, undefined)).toBeFalsy() + expect(validPairNaturalNumbers(undefined, 2)).toBeFalsy() + }) + + test('Valid numbers', () => { + expect(validPairNaturalNumbers(1, 2)).toBeTruthy() + expect(validPairNaturalNumbers(1.0, 2)).toBeTruthy() + expect(validPairNaturalNumbers(1, 2.0)).toBeTruthy() + }) }) - }) - describe('validPairSubmultiples', () => { - test('Invalid submultiples', () => { - expect(validPairSubmultiples(320, 3, 224, 2)).toBeFalsy() - expect(validPairSubmultiples(320, 2, 224, 3)).toBeFalsy() - expect(validPairSubmultiples(320, 2.1, 224, 2)).toBeFalsy() - expect(validPairSubmultiples(320, 2, 224, 2.1)).toBeFalsy() - expect(validPairSubmultiples(320, '2', 224, 2)).toBeFalsy() - expect(validPairSubmultiples(320, 2, 224, '2')).toBeFalsy() + describe('isSubmultiple', () => { + test('Invalid submultiples', () => { + expect(isSubmultiple(4, 2.1)).toBeFalsy() + expect(isSubmultiple(4, -2.0)).toBeFalsy() + expect(isSubmultiple(-4, 2.0)).toBeFalsy() + expect(isSubmultiple(-4, -2.0)).toBeFalsy() + expect(isSubmultiple('4', 2)).toBeFalsy() + expect(isSubmultiple(4, '2')).toBeFalsy() + }) + + test('Valid submultiples', () => { + expect(isSubmultiple(320, 2.0)).toBeTruthy() + expect(isSubmultiple(224.0, 2)).toBeTruthy() + }) }) - test('Valid submultiples', () => { - expect(validPairSubmultiples(320, 2, 224, 2)).toBeTruthy() + describe('validPairSubmultiples', () => { + test('Invalid submultiples', () => { + expect(validPairSubmultiples(320, 3, 224, 2)).toBeFalsy() + expect(validPairSubmultiples(320, 2, 224, 3)).toBeFalsy() + expect(validPairSubmultiples(320, 2.1, 224, 2)).toBeFalsy() + expect(validPairSubmultiples(320, 2, 224, 2.1)).toBeFalsy() + expect(validPairSubmultiples(320, '2', 224, 2)).toBeFalsy() + expect(validPairSubmultiples(320, 2, 224, '2')).toBeFalsy() + }) + + test('Valid submultiples', () => { + expect(validPairSubmultiples(320, 2, 224, 2)).toBeTruthy() + }) }) - }) - describe('parseUnique', () => { - test('Valid Unique', () => { - const tiles: any = {} - expect(parseUnique(tiles)).toBeTruthy() - tiles.unique = true - expect(parseUnique(tiles)).toBeTruthy() - tiles.unique = false - expect(parseUnique(tiles)).toBeTruthy() + describe('parseUnique', () => { + test('Valid Unique', () => { + const tiles: any = {} + expect(parseUnique(tiles)).toBeTruthy() + tiles.unique = true + expect(parseUnique(tiles)).toBeTruthy() + tiles.unique = false + expect(parseUnique(tiles)).toBeTruthy() + }) + + test('Invalid Unique', () => { + const tiles: any = { unique: 0 } + const error = new SpliteaError('unique property should be boolean, only admits true or false value') + expect(() => parseUnique(tiles)).toThrow(error) + tiles.unique = 1 + expect(() => parseUnique(tiles)).toThrow(error) + tiles.unique = 'true' + expect(() => parseUnique(tiles)).toThrow(error) + }) }) - test('Invalid Unique', () => { - const tiles: any = { unique: 0 } - const error = new SpliteaError('unique property should be boolean, only admits true or false value') - expect(() => parseUnique(tiles)).toThrow(error) - tiles.unique = 1 - expect(() => parseUnique(tiles)).toThrow(error) - tiles.unique = 'true' - expect(() => parseUnique(tiles)).toThrow(error) + describe('parseTiles', () => { + test('Grid', () => { + const size: Size = { width: imgTest.width, height: imgTest.height } + const errorSubmultiple = new SpliteaError(`you need to provide two natural submultiples of ${size.width} and ${size.height}, columns + rows or width (px) + height (px)`) + const tiles: Tiles = { mode: Mode.Grid, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } + // OK Rows & Columns + tiles.rows = 2 + tiles.columns = 2 + expect(parseTiles(tiles, size)).toBeTruthy() + // OK Width & Height + tiles.rows = undefined + tiles.columns = undefined + tiles.width = 2 + tiles.height = 2 + expect(parseTiles(tiles, size)).toBeTruthy() + // Fail Rows Ok Columns + tiles.rows = 3 + tiles.columns = 2 + tiles.width = undefined + tiles.height = undefined + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) + // Ok Rows Fail Columns + tiles.rows = 2 + tiles.columns = 3 + tiles.width = undefined + tiles.height = undefined + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) + // Fail Width & Ok Height + tiles.rows = undefined + tiles.columns = undefined + tiles.width = 3 + tiles.height = 2 + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) + // Ok Width & Fail Height + tiles.rows = undefined + tiles.columns = undefined + tiles.width = 2 + tiles.height = 3 + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) + }) + + test('Horizontal', () => { + const size: Size = { width: imgTest.width, height: imgTest.height } + const errorSubmultiple = new SpliteaError(`you need to provide one natural submultiple of ${size.width}, columns or width (px)`) + const tiles: Tiles = { mode: Mode.Horizontal, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } + // OK Columns + tiles.columns = 2 + tiles.width = undefined + expect(parseTiles(tiles, size)).toBeTruthy() + // OK Width + tiles.columns = undefined + tiles.width = 2 + expect(parseTiles(tiles, size)).toBeTruthy() + // Fail Columns + tiles.columns = 3 + tiles.width = undefined + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) + // Fail Width + tiles.columns = undefined + tiles.width = 3 + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) + }) + + test('Vertical', () => { + const size: Size = { width: imgTest.width, height: imgTest.height } + const errorSubmultiple = new SpliteaError(`you need to provide one natural submultiple of ${size.height}, rows or height (px)`) + const tiles: Tiles = { mode: Mode.Vertical, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } + // OK Rows + tiles.rows = 2 + tiles.height = undefined + expect(parseTiles(tiles, size)).toBeTruthy() + // OK Height + tiles.rows = undefined + tiles.height = 2 + expect(parseTiles(tiles, size)).toBeTruthy() + // Fail Rows + tiles.rows = 3 + tiles.height = undefined + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) + // Fail Height + tiles.rows = undefined + tiles.height = 3 + expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) + }) }) }) - describe('parseTiles', () => { - test('Grid', () => { - const size: Size = { width: imgTest.width, height: imgTest.height } - const errorSubmultiple = new SpliteaError(`you need to provide two natural submultiples of ${size.width} and ${size.height}, columns + rows or width (px) + height (px)`) - const tiles: Tiles = { mode: Mode.Grid, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } - // OK Rows & Columns - tiles.rows = 2 - tiles.columns = 2 - expect(parseTiles(tiles, size)).toBeTruthy() - // OK Width & Height - tiles.rows = undefined - tiles.columns = undefined - tiles.width = 2 - tiles.height = 2 - expect(parseTiles(tiles, size)).toBeTruthy() - // Fail Rows Ok Columns - tiles.rows = 3 - tiles.columns = 2 - tiles.width = undefined - tiles.height = undefined - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Ok Rows Fail Columns - tiles.rows = 2 - tiles.columns = 3 - tiles.width = undefined - tiles.height = undefined - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Fail Width & Ok Height - tiles.rows = undefined - tiles.columns = undefined - tiles.width = 3 - tiles.height = 2 - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Ok Width & Fail Height - tiles.rows = undefined - tiles.columns = undefined - tiles.width = 2 - tiles.height = 3 - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - }) - - test('Horizontal', () => { - const size: Size = { width: imgTest.width, height: imgTest.height } - const errorSubmultiple = new SpliteaError(`you need to provide one natural submultiple of ${size.width}, columns or width (px)`) - const tiles: Tiles = { mode: Mode.Horizontal, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } - // OK Columns - tiles.columns = 2 - tiles.width = undefined - expect(parseTiles(tiles, size)).toBeTruthy() - // OK Width - tiles.columns = undefined - tiles.width = 2 - expect(parseTiles(tiles, size)).toBeTruthy() - // Fail Columns - tiles.columns = 3 - tiles.width = undefined - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Fail Width - tiles.columns = undefined - tiles.width = 3 - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - }) - - test('Vertical', () => { - const size: Size = { width: imgTest.width, height: imgTest.height } - const errorSubmultiple = new SpliteaError(`you need to provide one natural submultiple of ${size.height}, rows or height (px)`) - const tiles: Tiles = { mode: Mode.Vertical, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } - // OK Rows - tiles.rows = 2 - tiles.height = undefined - expect(parseTiles(tiles, size)).toBeTruthy() - // OK Height - tiles.rows = undefined - tiles.height = 2 - expect(parseTiles(tiles, size)).toBeTruthy() - // Fail Rows - tiles.rows = 3 - tiles.height = undefined - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Fail Height - tiles.rows = undefined - tiles.height = 3 - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) + describe('Output', () => { + describe('parseData', () => { + test('Invalid data', () => { + const error = new SpliteaError('Invalid output data, it should be "buffer" or "path"') + expect(() => parseData(undefined)).toThrow(error) + expect(() => parseData(null)).toThrow(error) + expect(() => parseData(false)).toThrow(error) + expect(() => parseData('Buffer')).toThrow(error) + expect(() => parseData('Path')).toThrow(error) + expect(() => parseData(1)).toThrow(error) + expect(() => parseData(['path'])).toThrow(error) + }) + test('Valid data', () => { + expect(parseData('path')).toBeTruthy() + expect(parseData('buffer')).toBeTruthy() + }) }) }) }) From 2107bdb0feafb94dda55cec72e5e245381deb227 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Fri, 15 Jul 2022 22:03:50 +0200 Subject: [PATCH 04/64] Output options - parse data + path --- src/splitea.ts | 4 ++-- src/types.d.ts | 34 ++++++++++++++++---------------- src/utils.ts | 41 ++++++++++++++++++++++++++++++++++----- tests/utils.spec.ts | 47 ++++++++++++++++++++++++++++++++++++++++----- 4 files changed, 97 insertions(+), 29 deletions(-) diff --git a/src/splitea.ts b/src/splitea.ts index 7f709d0..684f4a8 100644 --- a/src/splitea.ts +++ b/src/splitea.ts @@ -1,6 +1,6 @@ import Jimp from 'jimp' import { SpliteaError, throwError } from './errors' -import { Size, Images, Tiles, Output } from './types' +import { Size, Tiles, Output, Image } from './types' import { parseOutput, parseTiles } from './utils' export const getSize = async (IMG: string): Promise => { @@ -23,7 +23,7 @@ export const readImage = async (image: string): Promise => { } } -export const Splitea = async (image: string, tiles?: Tiles, output?: Output): Promise => { +export const Splitea = async (image: string, tiles?: Tiles, output?: Output): Promise => { try { // Leer la imagen const img = await readImage(image) diff --git a/src/types.d.ts b/src/types.d.ts index a4da209..d2f6d57 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -4,13 +4,20 @@ import { Data, Extension, Mode } from './enums' export type Image = string | Buffer | Jimp -export type Images = string[] - export interface Size { width: number height: number } +/** Tiles + * 1. Slice Mode -> mode => "grid" | "vertical" | "horizontal" + * 2. Options for the slices + * 2.1 Grid tiles -> rows + columns | width + height + * 2.2 Vertical tiles -> rows | height + * 2.3 Horizontal tiles -> columns | width + * 3. Non-repeated tiles -> unique => false (default) | true +*/ + export interface Tiles { mode: Mode rows?: number @@ -20,24 +27,17 @@ export interface Tiles { unique?: boolean } +/** + * 1. Data to return -> data => "buffer" | "path" + * 2. If data = "path" or you want to store the slices it needs to provide path + name (extension is optional) + * 2.1 Local path to store slices -> path + * 2.2 Name preffix to slices -> name + * 2.3 Extension to store tiles -> extension => "jpg" | "png" | "bmp" | "gif" | "tiff" + **/ + export interface Output { data: Data path?: string name?: string extension?: Extension } - -/** - * 1. Slice Mode -> mode => grid | vertical | horizontal - * 2. Data for the slices -> tiles - * 2.1 Grid tiles -> rows + columns | width + height - * 2.2 Vertical tiles -> rows | height - * 2.3 Horizontal tiles -> columns | width - * 2.4 Non-repeated tiles -> unique => true | false - * 3. Output info -> output - * 3.1 Data to return -> data => buffer | path - * If data is path or you want to store the slices it needs to provide more properties - * 3.2 Local path to store slices -> path - * 3.3 Name preffix to slices -> name - * 3.4 Extension to slices -> extension => jpg | png | bmp | gif | tiff - **/ diff --git a/src/utils.ts b/src/utils.ts index 5ac0ea4..b85f7f7 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,5 +1,6 @@ +import { existsSync, accessSync, constants } from 'fs' import { Data, Mode } from './enums' -import { SpliteaError } from './errors' +import { SpliteaError, throwError } from './errors' import { Size } from './types' export const parseMode = (mode: any): any => { @@ -61,9 +62,9 @@ const checkModeVertical = (rows: any, height: any, size: Size): void => { export const parseTiles = (tiles: any, size: Size): boolean => { const { mode, rows, columns, width, height } = tiles - // Parse Mode + // Mode parseMode(mode) - // Parse Tiles -> rows, columns, width, eight + // Mode + Options -> rows, columns, width, height switch (mode) { // Mode Grid -> rows + columns || width + height case Mode.Grid: @@ -78,7 +79,7 @@ export const parseTiles = (tiles: any, size: Size): boolean => { checkModeVertical(rows, height, size) break } - // Parse Tiles.unique + // Unique parseUnique(tiles) return true } @@ -91,9 +92,39 @@ export const parseData = (data: any): boolean => { return true } +export const parsePath = (path: any): boolean => { + // Check if path is string + if (typeof path === 'string' || path instanceof String) { + // Check if path exist + if (existsSync(path as string | Buffer | URL)) { + // Check if can write + try { + accessSync(path as string | Buffer | URL, constants.W_OK) + return true + } catch (err) { + throwError(err) + } + } + const error = `Not exists path ${path as string}` + throw new SpliteaError(error) + } + throw new SpliteaError('Path needs to be string') +} + +export const parseName = (): boolean => true + +export const parseExtension = (): boolean => true + export const parseOutput = (output: any): boolean => { - const { data } = output + const { data, path } = output + // Data parseData(data) + // Path + parsePath(path) + // Name + parseName() + // Extension + parseExtension() return true } diff --git a/tests/utils.spec.ts b/tests/utils.spec.ts index 44365aa..9baa8be 100644 --- a/tests/utils.spec.ts +++ b/tests/utils.spec.ts @@ -1,14 +1,15 @@ -import path from 'path' +import Path from 'path' +import fs from 'fs' import { Mode } from '../src/enums' import { SpliteaError } from '../src/errors' import { Size, Tiles } from '../src/types' -import { isNatural, isSubmultiple, parseData, parseMode, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' +import { isNatural, isSubmultiple, parseData, parseMode, parsePath, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' -const imgFolder = path.join(__dirname, '..', 'examples') +const imgFolder = Path.join(__dirname, '..', 'examples') const imgTest = { - img: path.join(imgFolder, 'forestmap.png'), - imgBad: path.join(imgFolder, 'forestmapp.png'), + img: Path.join(imgFolder, 'forestmap.png'), + imgBad: Path.join(imgFolder, 'forestmapp.png'), width: 320, height: 224 } @@ -235,5 +236,41 @@ describe('Test Utils Module', () => { expect(parseData('buffer')).toBeTruthy() }) }) + + describe('parsePath', () => { + test('Invalid path', () => { + const error = new SpliteaError('Path needs to be string') + expect(() => parsePath(null)).toThrow(error) + expect(() => parsePath(undefined)).toThrow(error) + expect(() => parsePath(false)).toThrow(error) + expect(() => parsePath(1)).toThrow(error) + expect(() => parsePath(['./test'])).toThrow(error) + expect(() => parsePath({ path: './test' })).toThrow(error) + }) + + test('Not exists path', () => { + let testPath = new Date().getTime().toString() + let error = new SpliteaError(`Not exists path ${testPath}`) + expect(() => parsePath(testPath)).toThrow(error) + testPath = Path.join(__dirname, new Date().toString()) + error = new SpliteaError(`Not exists path ${testPath}`) + expect(() => parsePath(testPath)).toThrow(error) + }) + + test('No write permission path', () => { + const tmpFolder = Path.join(__dirname, new Date().getTime().toString()) + fs.mkdirSync(tmpFolder, { mode: 0o444 }) + expect(() => parsePath(tmpFolder)).toThrow(SpliteaError) + fs.rmdirSync(tmpFolder) + }) + + test('Valid path', () => { + expect(parsePath(__dirname)).toBeTruthy() + }) + }) + + describe('parseName', () => {}) + + // describe('parseExtension', () => {}) }) }) From 0aa3a556b267c188fdc032044428a3e087372208 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 17 Jul 2022 19:58:04 +0200 Subject: [PATCH 05/64] test name but not if it is an invalid os filename --- package-lock.json | 41 ++++++++++++++++++++++++++++- package.json | 3 ++- src/filename-reserved-regex.d.ts | 6 +++++ src/types.d.ts | 2 ++ src/utils.ts | 44 ++++++++++++++++++++------------ tests/utils.spec.ts | 26 ++++++++++++++++--- 6 files changed, 99 insertions(+), 23 deletions(-) create mode 100644 src/filename-reserved-regex.d.ts diff --git a/package-lock.json b/package-lock.json index 407ec5c..00fbce5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "jimp": "^0.16.0" + "jimp": "^0.16.0", + "valid-filename": "^4.0.0" }, "devDependencies": { "@types/jest": "^28.1.2", @@ -3518,6 +3519,17 @@ "node": ">=6" } }, + "node_modules/filename-reserved-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", + "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -6860,6 +6872,20 @@ "node": ">=10.12.0" } }, + "node_modules/valid-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/valid-filename/-/valid-filename-4.0.0.tgz", + "integrity": "sha512-VEYTpTVPMgO799f2wI7zWf0x2C54bPX6NAfbZ2Z8kZn76p+3rEYCTYVYzMUcVSMvakxMQTriBf24s3+WeXJtEg==", + "dependencies": { + "filename-reserved-regex": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -9670,6 +9696,11 @@ "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" }, + "filename-reserved-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", + "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==" + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -12124,6 +12155,14 @@ "convert-source-map": "^1.6.0" } }, + "valid-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/valid-filename/-/valid-filename-4.0.0.tgz", + "integrity": "sha512-VEYTpTVPMgO799f2wI7zWf0x2C54bPX6NAfbZ2Z8kZn76p+3rEYCTYVYzMUcVSMvakxMQTriBf24s3+WeXJtEg==", + "requires": { + "filename-reserved-regex": "^3.0.0" + } + }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", diff --git a/package.json b/package.json index 8fc558a..95ea79c 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ ] }, "dependencies": { - "jimp": "^0.16.0" + "jimp": "^0.16.0", + "valid-filename": "^4.0.0" } } diff --git a/src/filename-reserved-regex.d.ts b/src/filename-reserved-regex.d.ts new file mode 100644 index 0000000..492d2a0 --- /dev/null +++ b/src/filename-reserved-regex.d.ts @@ -0,0 +1,6 @@ +declare module 'filename-reserved-regex' { + let filenameReservedRegex: () => RegExp + let windowsReservedNameRegex: () => RegExp + export default filenameReservedRegex + export { windowsReservedNameRegex } +} diff --git a/src/types.d.ts b/src/types.d.ts index d2f6d57..12d5d38 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -41,3 +41,5 @@ export interface Output { name?: string extension?: Extension } + +export type isValidFilename = (filename: string) => boolean diff --git a/src/utils.ts b/src/utils.ts index b85f7f7..bd4f1c0 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,8 +1,13 @@ +// import { platform } from 'os' import { existsSync, accessSync, constants } from 'fs' +// import isValidFilename from 'valid-filename' +// import filenameReservedRegex, { windowsReservedNameRegex } from 'filename-reserved-regex' import { Data, Mode } from './enums' import { SpliteaError, throwError } from './errors' import { Size } from './types' +const isString = (str: any): boolean => typeof str === 'string' || str instanceof String + export const parseMode = (mode: any): any => { if (!Object.values(Mode).includes(mode)) { throw new SpliteaError(`Invalid mode, only ${Mode.Grid}, ${Mode.Horizontal}, ${Mode.Vertical} is permitted`) @@ -94,35 +99,40 @@ export const parseData = (data: any): boolean => { export const parsePath = (path: any): boolean => { // Check if path is string - if (typeof path === 'string' || path instanceof String) { - // Check if path exist - if (existsSync(path as string | Buffer | URL)) { - // Check if can write - try { - accessSync(path as string | Buffer | URL, constants.W_OK) - return true - } catch (err) { - throwError(err) - } - } - const error = `Not exists path ${path as string}` - throw new SpliteaError(error) + if (!isString(path)) { throw new SpliteaError('path needs to be string') } + // Check if path exist + if (!existsSync(path as string | Buffer | URL)) { throw new SpliteaError(`Not exists path ${path as string}`) } + // Check if can write + try { + accessSync(path as string | Buffer | URL, constants.W_OK) + } catch (err) { + throw throwError(err) } - throw new SpliteaError('Path needs to be string') + return true } -export const parseName = (): boolean => true +export const parseName = (name: any): boolean => { + // Check if string + if (!isString(name)) { throw new SpliteaError('name needs to be string') } + // Check OS valid filename + // if (!isValidFilename(name as string)) { throw new SpliteaError(`${String(name)} is not a valid filename`) } + // const invalidFilename: boolean = (platform() === 'win32') + // ? windowsReservedNameRegex().test(name) + // : filenameReservedRegex().test(name) + // if (invalidFilename) { throw new SpliteaError(`${String(name)} is not a valid filename`) } + return true +} export const parseExtension = (): boolean => true export const parseOutput = (output: any): boolean => { - const { data, path } = output + const { data, path, name } = output // Data parseData(data) // Path parsePath(path) // Name - parseName() + parseName(name) // Extension parseExtension() return true diff --git a/tests/utils.spec.ts b/tests/utils.spec.ts index 9baa8be..829166f 100644 --- a/tests/utils.spec.ts +++ b/tests/utils.spec.ts @@ -1,9 +1,9 @@ import Path from 'path' -import fs from 'fs' +import fs from 'fs' import { Mode } from '../src/enums' import { SpliteaError } from '../src/errors' import { Size, Tiles } from '../src/types' -import { isNatural, isSubmultiple, parseData, parseMode, parsePath, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' +import { isNatural, isSubmultiple, parseData, parseMode, parseName, parsePath, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' const imgFolder = Path.join(__dirname, '..', 'examples') @@ -239,7 +239,7 @@ describe('Test Utils Module', () => { describe('parsePath', () => { test('Invalid path', () => { - const error = new SpliteaError('Path needs to be string') + const error = new SpliteaError('path needs to be string') expect(() => parsePath(null)).toThrow(error) expect(() => parsePath(undefined)).toThrow(error) expect(() => parsePath(false)).toThrow(error) @@ -269,7 +269,25 @@ describe('Test Utils Module', () => { }) }) - describe('parseName', () => {}) + describe('parseName', () => { + test('Invalid type of name', () => { + const error = new SpliteaError('name needs to be string') + expect(() => parseName(null)).toThrow(error) + expect(() => parseName(undefined)).toThrow(error) + expect(() => parseName(false)).toThrow(error) + expect(() => parseName(1)).toThrow(error) + expect(() => parseName(['test'])).toThrow(error) + expect(() => parseName({ test: 'test' })).toThrow(error) + }) + + // test('Invalid OS name', () => { + // TODO: + // }) + + test('Valid name', () => { + expect(parseName('hola.txt')).toBeTruthy() + }) + }) // describe('parseExtension', () => {}) }) From 63476bbf97049c7dda253fca378b5e9514ee430a Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 17 Jul 2022 20:27:09 +0200 Subject: [PATCH 06/64] parse extension and tested --- src/utils.ts | 15 +++++++++++---- tests/utils.spec.ts | 31 ++++++++++++++++++++++++++++--- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/src/utils.ts b/src/utils.ts index bd4f1c0..c6feb01 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -2,7 +2,7 @@ import { existsSync, accessSync, constants } from 'fs' // import isValidFilename from 'valid-filename' // import filenameReservedRegex, { windowsReservedNameRegex } from 'filename-reserved-regex' -import { Data, Mode } from './enums' +import { Data, Extension, Mode } from './enums' import { SpliteaError, throwError } from './errors' import { Size } from './types' @@ -123,10 +123,17 @@ export const parseName = (name: any): boolean => { return true } -export const parseExtension = (): boolean => true +export const parseExtension = (extension: any): boolean => { + // Check if string + if (!isString(extension)) { throw new SpliteaError('extension needs to be string') } + // Check if valid extension + const values = Object.values(Extension) + if (!values.includes(extension)) { throw new SpliteaError(`${extension as string} needs to be one of this extensions -> ${values.toString()}`) } + return true +} export const parseOutput = (output: any): boolean => { - const { data, path, name } = output + const { data, path, name, extension } = output // Data parseData(data) // Path @@ -134,7 +141,7 @@ export const parseOutput = (output: any): boolean => { // Name parseName(name) // Extension - parseExtension() + parseExtension(extension) return true } diff --git a/tests/utils.spec.ts b/tests/utils.spec.ts index 829166f..152d99a 100644 --- a/tests/utils.spec.ts +++ b/tests/utils.spec.ts @@ -1,9 +1,9 @@ import Path from 'path' import fs from 'fs' -import { Mode } from '../src/enums' +import { Extension, Mode } from '../src/enums' import { SpliteaError } from '../src/errors' import { Size, Tiles } from '../src/types' -import { isNatural, isSubmultiple, parseData, parseMode, parseName, parsePath, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' +import { isNatural, isSubmultiple, parseData, parseExtension, parseMode, parseName, parsePath, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' const imgFolder = Path.join(__dirname, '..', 'examples') @@ -289,6 +289,31 @@ describe('Test Utils Module', () => { }) }) - // describe('parseExtension', () => {}) + describe('parseExtension', () => { + test('Extension not string', () => { + const error = new SpliteaError('extension needs to be string') + expect(() => parseExtension(undefined)).toThrow(error) + expect(() => parseExtension(null)).toThrow(error) + expect(() => parseExtension(false)).toThrow(error) + expect(() => parseExtension(true)).toThrow(error) + expect(() => parseExtension(1)).toThrow(error) + expect(() => parseExtension(['jpg'])).toThrow(error) + expect(() => parseExtension({ jpg: 'jpg' })).toThrow(error) + }) + + test('Extension not valid', () => { + const values = Object.values(Extension) + const extensions = ['pnj', 'jepg', 'giff', 'tif'] + extensions.forEach(extension => { + const err = new SpliteaError(`${extension} needs to be one of this extensions -> ${values.toString()}`) + expect(() => parseExtension(extension)).toThrow(err) + }) + }) + + test('Extension valid', () => { + const extensions = ['png', 'jpg', 'jpeg', 'gif', 'tiff'] + extensions.forEach(extension => expect(extension).toBeTruthy()) + }) + }) }) }) From 648b0d3100f68678cc4c92e889745a3dda6c34c8 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Fri, 22 Jul 2022 20:18:37 +0200 Subject: [PATCH 07/64] Complete tested filename without dependencies --- package-lock.json | 41 +--------------------------------- package.json | 3 +-- src/utils.ts | 30 +++++++++++++------------ tests/utils.spec.ts | 54 ++++++++++++++++++++++++++++++++++++++++----- 4 files changed, 66 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index 00fbce5..407ec5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,7 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "jimp": "^0.16.0", - "valid-filename": "^4.0.0" + "jimp": "^0.16.0" }, "devDependencies": { "@types/jest": "^28.1.2", @@ -3519,17 +3518,6 @@ "node": ">=6" } }, - "node_modules/filename-reserved-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", - "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -6872,20 +6860,6 @@ "node": ">=10.12.0" } }, - "node_modules/valid-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/valid-filename/-/valid-filename-4.0.0.tgz", - "integrity": "sha512-VEYTpTVPMgO799f2wI7zWf0x2C54bPX6NAfbZ2Z8kZn76p+3rEYCTYVYzMUcVSMvakxMQTriBf24s3+WeXJtEg==", - "dependencies": { - "filename-reserved-regex": "^3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -9696,11 +9670,6 @@ "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" }, - "filename-reserved-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", - "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==" - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -12155,14 +12124,6 @@ "convert-source-map": "^1.6.0" } }, - "valid-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/valid-filename/-/valid-filename-4.0.0.tgz", - "integrity": "sha512-VEYTpTVPMgO799f2wI7zWf0x2C54bPX6NAfbZ2Z8kZn76p+3rEYCTYVYzMUcVSMvakxMQTriBf24s3+WeXJtEg==", - "requires": { - "filename-reserved-regex": "^3.0.0" - } - }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", diff --git a/package.json b/package.json index 95ea79c..8fc558a 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,6 @@ ] }, "dependencies": { - "jimp": "^0.16.0", - "valid-filename": "^4.0.0" + "jimp": "^0.16.0" } } diff --git a/src/utils.ts b/src/utils.ts index c6feb01..7fdf394 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,7 +1,4 @@ -// import { platform } from 'os' import { existsSync, accessSync, constants } from 'fs' -// import isValidFilename from 'valid-filename' -// import filenameReservedRegex, { windowsReservedNameRegex } from 'filename-reserved-regex' import { Data, Extension, Mode } from './enums' import { SpliteaError, throwError } from './errors' import { Size } from './types' @@ -115,11 +112,13 @@ export const parseName = (name: any): boolean => { // Check if string if (!isString(name)) { throw new SpliteaError('name needs to be string') } // Check OS valid filename - // if (!isValidFilename(name as string)) { throw new SpliteaError(`${String(name)} is not a valid filename`) } - // const invalidFilename: boolean = (platform() === 'win32') - // ? windowsReservedNameRegex().test(name) - // : filenameReservedRegex().test(name) - // if (invalidFilename) { throw new SpliteaError(`${String(name)} is not a valid filename`) } + // Windows Regex = /^(con|prn|aux|nul|com\d|lpt\d)$/i + const windowsReservedNameRegex = /^(con|prn|aux|nul|com\d|lpt\d)$/ + const invalidWindowsFilename = new RegExp(windowsReservedNameRegex, 'i') + // All OS except Windows Regex = /[<>:"/\\|?*\u0000-\u001F]/g + const filenameReservedRegex = '[<>:"/\\|?*\u0000-\u001F]' + const invalidFilename = new RegExp(filenameReservedRegex, 'g') + if (invalidFilename.test(name as string) || invalidWindowsFilename.test(name as string)) { throw new SpliteaError(`${String(name)} is not a valid filename`) } return true } @@ -136,12 +135,15 @@ export const parseOutput = (output: any): boolean => { const { data, path, name, extension } = output // Data parseData(data) - // Path - parsePath(path) - // Name - parseName(name) - // Extension - parseExtension(extension) + // Check if save => data = path || name != undefined + if (data === 'path' || name !== undefined) { + // Path + if (path !== undefined) { parsePath(path) } + // Name + parseName(name) + // Extension + if (extension !== undefined) { parseExtension(extension) } + } return true } diff --git a/tests/utils.spec.ts b/tests/utils.spec.ts index 152d99a..df9d134 100644 --- a/tests/utils.spec.ts +++ b/tests/utils.spec.ts @@ -1,9 +1,9 @@ import Path from 'path' import fs from 'fs' -import { Extension, Mode } from '../src/enums' +import { Data, Extension, Mode } from '../src/enums' import { SpliteaError } from '../src/errors' -import { Size, Tiles } from '../src/types' -import { isNatural, isSubmultiple, parseData, parseExtension, parseMode, parseName, parsePath, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' +import { Output, Size, Tiles } from '../src/types' +import { isNatural, isSubmultiple, parseData, parseExtension, parseMode, parseName, parseOutput, parsePath, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' const imgFolder = Path.join(__dirname, '..', 'examples') @@ -280,9 +280,35 @@ describe('Test Utils Module', () => { expect(() => parseName({ test: 'test' })).toThrow(error) }) - // test('Invalid OS name', () => { - // TODO: - // }) + test('Invalid OS name', () => { + // Invalid filenames + let name = 'foo/bar' + let error = new SpliteaError(`${String(name)} is not a valid filename`) + expect(() => parseName(name)).toThrow(error) + name = 'foo\u0000bar' + error = new SpliteaError(`${String(name)} is not a valid filename`) + expect(() => parseName(name)).toThrow(error) + name = 'foo\u001Fbar' + error = new SpliteaError(`${String(name)} is not a valid filename`) + expect(() => parseName(name)).toThrow(error) + name = 'foo*bar' + error = new SpliteaError(`${String(name)} is not a valid filename`) + expect(() => parseName(name)).toThrow(error) + name = 'foo:bar' + error = new SpliteaError(`${String(name)} is not a valid filename`) + expect(() => parseName(name)).toThrow(error) + name = 'AUX' + error = new SpliteaError(`${String(name)} is not a valid filename`) + expect(() => parseName(name)).toThrow(error) + name = 'com1' + error = new SpliteaError(`${String(name)} is not a valid filename`) + expect(() => parseName(name)).toThrow(error) + // Valid filenames + name = 'foo-bar' + expect(parseName(name)).toBeTruthy() + name = 'foo\\bar' + expect(parseName(name)).toBeTruthy() + }) test('Valid name', () => { expect(parseName('hola.txt')).toBeTruthy() @@ -315,5 +341,21 @@ describe('Test Utils Module', () => { extensions.forEach(extension => expect(extension).toBeTruthy()) }) }) + + describe('parseOutput', () => { + describe('data = buffer', () => { + test('only data', () => { + const output: Output = { data: Data.Buffer } + expect(parseOutput(output)).toBeTruthy() + }) + + test('name', () => { + const output: Output = { data: Data.Buffer, name: 'test' } + expect(parseOutput(output)).toBeTruthy() + const error = { data: Data.Buffer, name: 123 } + expect(() => parseOutput(error)).toThrow(SpliteaError) + }) + }) + }) }) }) From 0cd15cb56b8b095ff1296550c8f8604e5f58e836 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 28 Aug 2022 21:03:21 +0200 Subject: [PATCH 08/64] all splitea almost tested. Needs unique and store --- src/errors.ts | 4 +- src/index.ts | 34 +++--- src/splitea.ts | 169 +++++++++++++++++++++++----- src/utils.ts | 130 ++++------------------ tests/splitea.spec.ts | 250 +++++++++++++++++++++++++++++++++++++++++- tests/utils.spec.ts | 31 +++++- 6 files changed, 459 insertions(+), 159 deletions(-) diff --git a/src/errors.ts b/src/errors.ts index 07037bd..9b432b4 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -6,8 +6,8 @@ export class SpliteaError extends Error { } } -export const throwError = (error: any): SpliteaError => { +export const throwError = (error: any, msg: string): SpliteaError => { if (error instanceof SpliteaError) { return error } console.error(error) - return new SpliteaError(String(error)) + return new SpliteaError(msg + '\n' + String(error)) } diff --git a/src/index.ts b/src/index.ts index d2fc38a..e9832c2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,20 +1,22 @@ -import path from 'path' -import { Mode } from './enums' +// import path from 'path' +// import { Mode } from './enums' import { Splitea } from './splitea' -import { Tiles } from './types' +// import { Tiles } from './types' -const IMG = path.join(__dirname, '..', 'examples', 'mapabosque.png') -console.log(IMG) -const TILES: Tiles = { - mode: Mode.Grid -} +// const IMG = path.join(__dirname, '..', 'examples', 'mapabosque.png') +// console.log(IMG) +// const TILES: Tiles = { +// mode: Mode.Grid +// } -// Splitea.getSize(IMG) -// .then(size => { -// console.log(`width: ${size.width}\nheight: ${size.height}`) -// }) -// .catch(err => console.log(err)) +// // Splitea.getSize(IMG) +// // .then(size => { +// // console.log(`width: ${size.width}\nheight: ${size.height}`) +// // }) +// // .catch(err => console.log(err)) -Splitea(IMG, TILES) - .then(res => console.log(res)) - .catch(error => console.error(error)) +// Splitea(IMG, TILES) +// .then(res => console.log(res)) +// .catch(error => console.error(error)) + +export default Splitea diff --git a/src/splitea.ts b/src/splitea.ts index 684f4a8..2fe1b13 100644 --- a/src/splitea.ts +++ b/src/splitea.ts @@ -1,43 +1,162 @@ import Jimp from 'jimp' +import { Mode } from './enums' import { SpliteaError, throwError } from './errors' import { Size, Tiles, Output, Image } from './types' -import { parseOutput, parseTiles } from './utils' +import { isNatural, parseOutput, parseTiles } from './utils' -export const getSize = async (IMG: string): Promise => { +export const readImage = async (image: string): Promise<[Jimp, Size]> => { try { - const img = await Jimp.read(IMG) - const { width, height } = img.bitmap - return { width, height } + const img = await Jimp.read(image) + const size: Size = { width: img.bitmap.width, height: img.bitmap.height } + return [img, size] } catch (error) { - console.log('Error Splitea') - console.log(error) - throw new SpliteaError('Invalid dimensions') + throw throwError(error, `Error reading image ${image}`) } } -export const readImage = async (image: string): Promise => { +// const writeImage = (image: Jimp, path: string, name: string, index: number, extension: string): string => { +// const filename = `${name}_${index}_${new Date().getTime()}${extension}` +// image.write(filename) +// return filename +// } + +export const getSplitImage = (image: Jimp, x: number, y: number, w: number, h: number): Jimp => { try { - return await Jimp.read(image) + const { width, height } = image.bitmap + if (x === 0 && w === width && y === 0 && h === height) return image + if ((x + w) > width) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max x value is ${width - 1}`) + if ((y + h) > height) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max y value is ${height - 1}`) + return image.clone().crop(x, y, w, h) } catch (error) { - throw throwError(error) + throw throwError(error, 'Problem spliting image') } } -export const Splitea = async (image: string, tiles?: Tiles, output?: Output): Promise => { +export const getHorizontalTiles = (image: Jimp, size: Size, tilesWidth: number, tilesColumns: number): Image[] => { + if (tilesWidth === 0 && tilesColumns === 0) throw new SpliteaError('It needs to provide "columns" or "width"') + if (tilesWidth > 0 && tilesColumns > 0) throw new SpliteaError('It needs to provide "columns" or "width" but not both of them') try { - // Leer la imagen - const img = await readImage(image) - const size: Size = { width: img.bitmap.width, height: img.bitmap.height } - // Comprobar que las tiles son correctas - if (!parseTiles(tiles, size)) { throw new SpliteaError('Bad tiles options') } - // Comprobar que el output es correcto - if (!parseOutput(output)) { throw new SpliteaError('Bad output options') } - // Obtener las imagenes cortadas - // Quitar las iguales - // Guardar las fotos - // Devolver los nombres de las imagenes - return await Promise.resolve(['hioo', 'hgjkg']) + const { width, height } = size + const [w, tilesNumber] = tilesWidth === 0 + ? [width / tilesColumns, tilesColumns] + : [tilesWidth, width / tilesWidth] + const h = height + const y = 0 + return new Array(tilesNumber).map((_, index) => { + const x = w * index + return getSplitImage(image, x, y, w, h) + }) + } catch (error) { + throw throwError(error, 'Problem with getting horizontal slices') + } +} + +export const getVerticalTiles = (image: Jimp, size: Size, tilesHeight: number, tilesRows: number): Image[] => { + if (tilesHeight === 0 && tilesRows === 0) throw new SpliteaError('It needs to provide "rows" or "heigth"') + if (tilesHeight > 0 && tilesRows > 0) throw new SpliteaError('It needs to provide "rows" or "heigth" but not both of them') + try { + const { width, height } = size + const w = width + const [h, tilesNumber] = tilesHeight === 0 + ? [height / tilesRows, tilesRows] + : [tilesHeight, height / tilesHeight] + const x = 0 + return new Array(tilesNumber).map((_, index) => { + const y = h * index + return getSplitImage(image, x, y, w, h) + }) + } catch (error) { + throw throwError(error, 'Problem with getting vertical slices') + } +} + +const validGridTiles = (tilesWidth: number, tilesHeight: number, tilesRows: number, tilesColumns: number): void => { + if (tilesWidth === 0 && tilesHeight === 0 && tilesRows === 0 && tilesColumns === 0) throw new SpliteaError('It needs to provide "rows & columns" or "width & height"') + if (tilesWidth > 0 && tilesHeight > 0 && tilesRows > 0 && tilesColumns > 0) throw new SpliteaError('It needs to provide "rows & columns" or "width & height" but not both of them') + if (tilesWidth > 0 && tilesColumns > 0) throw new SpliteaError('It needs to provide "columns" or "width" but not both of them') + if (tilesHeight > 0 && tilesRows > 0) throw new SpliteaError('It needs to provide "rows" or "height" but not both of them') + if (tilesWidth === 0 && tilesHeight > 0) throw new SpliteaError('Missing "width"') + if (tilesWidth > 0 && tilesHeight === 0) throw new SpliteaError('Missing "height"') + if (tilesRows === 0 && tilesColumns > 0) throw new SpliteaError('Missing "rows"') + if (tilesRows > 0 && tilesColumns === 0) throw new SpliteaError('Missing "columns"') +} + +export const getGridTiles = (image: Jimp, size: Size, tilesWidth: number, tilesHeight: number, tilesRows: number, tilesColumns: number): Image[] => { + validGridTiles(tilesWidth, tilesHeight, tilesRows, tilesColumns) + try { + const { width, height } = size + const [w, tilesNumberX] = tilesWidth === 0 + ? [width / tilesColumns, tilesColumns] + : [tilesWidth, width / tilesWidth] + const [h, tilesNumberY] = tilesHeight === 0 + ? [height / tilesRows, tilesRows] + : [tilesHeight, height / tilesHeight] + const arrayX = new Array(tilesNumberX).fill(1) + const arrayY = new Array(tilesNumberY).fill(1) + return arrayX.map((_x, indexX) => { + const x = w * indexX + return arrayY.map((_y, indexY) => { + const y = h * indexY + return getSplitImage(image, x, y, w, h) + }) + }).flat() + } catch (error) { + throw throwError(error, 'Problem with getting grid slices') + } +} + +export const getTiles = (img: Jimp, size: Size, tiles: Tiles): Image[] => { + if (tiles?.mode !== undefined) { + const width = (!isNatural(tiles.width)) ? 0 : tiles.width as number + const height = (!isNatural(tiles.height)) ? 0 : tiles.height as number + const columns = (!isNatural(tiles.columns)) ? 0 : tiles.columns as number + const rows = (!isNatural(tiles.rows)) ? 0 : tiles.rows as number + // Horizontal + if (tiles.mode === Mode.Horizontal) return getHorizontalTiles(img, size, width, columns) + // Vertical + if (tiles.mode === Mode.Vertical) return getVerticalTiles(img, size, height, rows) + // Grid + if (tiles.mode === Mode.Grid) return getGridTiles(img, size, width, height, rows, columns) + // Error + throw new SpliteaError('Invalid mode') + } + throw new SpliteaError('No mode defined') +} + +export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { + try { + const distance = Jimp.distance(img1, img2) + const diff = Jimp.diff(img1, img2) + if (distance < 0.15 || diff.percent < 0.15) return true + } catch (error) { + console.log(error) + throwError(error, 'Error comparing images') + } + return false +} + +export const uniqueTiles = (imgs: Image[]): Image[] => { + return imgs +} + +export const Splitea = async (image: string, tiles: Tiles, output?: Output): Promise => { + try { + // Read image + const [img, size] = await readImage(image) + // Check tiles options + parseTiles(tiles, size) + // Check output options + parseOutput(output) + // Get tiles + const tmpSlices = getTiles(img, size, tiles) + // Remove similars + const uniqueSlices = (tiles?.unique === true) ? uniqueTiles(tmpSlices) : tmpSlices + // Store tiles + if (output.) + // Return tiles + const slices = uniqueSlices + return await Promise.resolve(slices) } catch (error) { - throw throwError(error) + throw throwError(error, 'Problems with Splitea') } } diff --git a/src/utils.ts b/src/utils.ts index 7fdf394..06d49ec 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -5,14 +5,12 @@ import { Size } from './types' const isString = (str: any): boolean => typeof str === 'string' || str instanceof String -export const parseMode = (mode: any): any => { - if (!Object.values(Mode).includes(mode)) { - throw new SpliteaError(`Invalid mode, only ${Mode.Grid}, ${Mode.Horizontal}, ${Mode.Vertical} is permitted`) - } - return mode +export const parseMode = (mode: any): Mode => { + if (Object.values(Mode).includes(mode)) return mode + throw new SpliteaError(`Invalid mode, only ${Mode.Grid}, ${Mode.Horizontal}, ${Mode.Vertical} is permitted`) } -export const isNatural = (number: any): boolean => typeof number === 'number' && String(number).split('.').length === 1 && number > 0 +export const isNatural = (num: any): boolean => (typeof num === 'number') && (String(num).split('.').length === 1) && (num > 0) export const validPairNaturalNumbers = (first: any, second: any): boolean => isNatural(first) && isNatural(second) @@ -103,7 +101,7 @@ export const parsePath = (path: any): boolean => { try { accessSync(path as string | Buffer | URL, constants.W_OK) } catch (err) { - throw throwError(err) + throw throwError(err, `Problems parsing path ${String(path)}`) } return true } @@ -131,113 +129,27 @@ export const parseExtension = (extension: any): boolean => { return true } +const parseStore = (path: any, name: any, extension: any): boolean => { + // Path + if (path !== undefined) { parsePath(path) } + // Name + parseName(name) + // Extension + if (extension !== undefined) { parseExtension(extension) } + return true +} + export const parseOutput = (output: any): boolean => { const { data, path, name, extension } = output // Data parseData(data) + // Check if save => data = path + if (data === 'path') { + if (name === undefined) { throw new SpliteaError('"name" is required') } + parseStore(path, name, extension) // Check if save => data = path || name != undefined - if (data === 'path' || name !== undefined) { - // Path - if (path !== undefined) { parsePath(path) } - // Name - parseName(name) - // Extension - if (extension !== undefined) { parseExtension(extension) } + } else if (name !== undefined) { + parseStore(path, name, extension) } return true } - -// const writeImage = (image: Jimp, name: string, index: number, extension: string): string => { -// const filename = `${name}_${index}_${new Date().getTime()}${extension}` -// image.write(filename) -// return filename -// } - -// const getSplitImage = (image: Jimp, x: number, y: number, w: number, h: number): Jimp => { -// try { -// return image.clone().autocrop().crop(x, y, w, h) -// } catch (err) { -// if (err instanceof SpliteaError) { throw err } -// console.log(err) -// throw new SpliteaError('Problem spliting image') -// } -// } - -// const getSlicesVertical = async (image: Jimp, slicesNumber: number): Promise => { -// try { -// const { width, height } = image.bitmap -// const step = Math.floor(height / slicesNumber) -// let slices: Jimp[] = [] -// const x = 0 -// const w = width -// const h = step -// for (let i = 0; i < slicesNumber; i++) { -// const y = i * step -// const newHeight = ((y + h) <= height) ? h : height - y -// const slice = getSplitImage(image, x, y, w, newHeight) -// if (slice.bitmap.height < height) { -// slices.push(slice) -// } -// } -// return slices -// } catch (error) { -// if (error instanceof SpliteaError) { throw error } -// console.log(error) -// throw new SpliteaError('Problem with getting vertical slices') -// } -// } - -// const getSlicesHorizontal = async (image: Jimp, slicesNumber: number): Promise => { -// try { -// const { width, height } = image.bitmap -// const step = Math.floor(width / slicesNumber) -// let slices: Jimp[] = [] -// const y = 0 -// const w = step -// const h = height -// for (let i = 0; i < slicesNumber; i++) { -// const x = i * step -// const newWidth = ((x + w) <= width) ? w : width - x -// console.log(` -// Image of ${width} x ${height} px -// x = ${x} px - w = ${newWidth} px -// y = ${y} px - h = ${h} px -// `) -// const slice = getSplitImage(image, x, y, newWidth, h) -// if (slice.bitmap.width < width) { -// slices.push(slice) -// } -// } -// return slices -// } catch (error) { -// if (error instanceof SpliteaError) { throw error } -// console.error(error) -// throw new SpliteaError('Problem with getting horizontal slices') -// } -// } - -// const splitImageVertical = async (image: Jimp, slicesNumber: number): Promise => { -// try { -// const slices = await getSlicesVertical(image, slicesNumber) -// if (slices.length === 0) { return [] } -// const { name, ext } = path.parse(image) -// return slices.map((slice, index) => writeImage(slice, name, index, ext)) -// } catch (error) { -// if (error instanceof SpliteaError) { throw error } -// console.log(error) -// throw new SpliteaError('Problem writting vertical slices') -// } -// } - -// const splitImageHorizontal = async (image: Jimp, slicesNumber: number): Promise => { -// try { -// const slices = await getSlicesHorizontal(image, slicesNumber) -// if (slices.length === 0) { return [] } -// const { name, ext } = path.parse(IMG) -// return slices.map((slice, index) => writeImage(slice, name, index, ext)) -// } catch (error) { -// if (error instanceof SpliteaError) { throw error } -// console.log(error) -// throw new SpliteaError('Problem writting vertical slices') -// } -// } diff --git a/tests/splitea.spec.ts b/tests/splitea.spec.ts index 37d5ccd..383bb05 100644 --- a/tests/splitea.spec.ts +++ b/tests/splitea.spec.ts @@ -1,6 +1,8 @@ import path from 'path' -import { readImage } from '../src/splitea' +import { getGridTiles, getHorizontalTiles, getSplitImage, getTiles, getVerticalTiles, readImage } from '../src/splitea' import { SpliteaError } from '../src/errors' +import { Tiles } from '../src/types' +import { Mode } from '../src/enums' const imgFolder = path.join(__dirname, '..', 'examples') @@ -12,14 +14,256 @@ const imgTest = { } describe('Test Splitea Module', () => { - describe('Image source', () => { + describe('Read Image', () => { test('Correct local jpg', async () => { - const img = await readImage(imgTest.img) + const [img, size] = await readImage(imgTest.img) expect(img.bitmap.width).toBe(imgTest.width) expect(img.bitmap.height).toBe(imgTest.height) + expect(size.width).toBe(imgTest.width) + expect(size.height).toBe(imgTest.height) }) + test('Incorrect local jpg', async () => { await expect(readImage(imgTest.imgBad)).rejects.toThrow(SpliteaError) }) }) + + describe('Get Split Image', () => { + test('Correct splites', async () => { + const [img, size] = await readImage(imgTest.img) + let { x, y, w, h } = { x: 0, y: 0, w: size.width, h: size.height } + let newImage = getSplitImage(img, x, y, w, h) + expect(newImage.bitmap.width).toBe(w) + expect(newImage.bitmap.height).toBe(h) + x = size.width / 2 + w = size.width / 2 + y = size.height / 2 + h = size.height / 2 + newImage = getSplitImage(img, x, y, w, h) + expect(newImage.bitmap.width).toBe(w) + expect(newImage.bitmap.height).toBe(h) + }) + + test('Incorrect splites', async () => { + const [img, size] = await readImage(imgTest.img) + let { x, y, w, h } = { x: 1, y: 1, w: size.width, h: size.height } + expect(() => getSplitImage(img, x, y, w, h)).toThrow(SpliteaError) + x = (size.width / 2) + 1 + w = size.width / 2 + y = size.height / 2 + h = size.height / 2 + expect(() => getSplitImage(img, x, y, w, h)).toThrow(SpliteaError) + x = size.width / 2 + // w = size.width / 2 + y = (size.height / 2) + 1 + // h = size.height / 2 + expect(() => getSplitImage(img, x, y, w, h)).toThrow(SpliteaError) + }) + }) + + describe(' Get Horizontal Tiles', () => { + test('Providing width & columns', async () => { + const [img, size] = await readImage(imgTest.img) + const width = 1 + const columns = 1 + expect(() => getHorizontalTiles(img, size, width, columns)).toThrow(SpliteaError) + }) + + test('Providing width', async () => { + const [img, size] = await readImage(imgTest.img) + let width = 1 + const columns = 0 + expect(getHorizontalTiles(img, size, width, columns).length).toBe(size.width) + width = size.width + expect(getHorizontalTiles(img, size, width, columns).length).toBe(1) + width = size.width / 2 + expect(getHorizontalTiles(img, size, width, columns).length).toBe(2) + }) + + test('Providing columns', async () => { + const [img, size] = await readImage(imgTest.img) + const width = 0 + let columns = 1 + expect(getHorizontalTiles(img, size, width, columns).length).toBe(columns) + columns = 2 + expect(getHorizontalTiles(img, size, width, columns).length).toBe(columns) + columns = size.width / 2 + expect(getHorizontalTiles(img, size, width, columns).length).toBe(columns) + }) + }) + + describe(' Get Vertical Tiles', () => { + test('Providing height & rows', async () => { + const [img, size] = await readImage(imgTest.img) + const height = 1 + const rows = 1 + expect(() => getVerticalTiles(img, size, height, rows)).toThrow(SpliteaError) + }) + + test('Providing height', async () => { + const [img, size] = await readImage(imgTest.img) + let height = 1 + const rows = 0 + expect(getVerticalTiles(img, size, height, rows).length).toBe(size.height) + height = size.height + expect(getVerticalTiles(img, size, height, rows).length).toBe(1) + height = size.height / 2 + expect(getVerticalTiles(img, size, height, rows).length).toBe(2) + }) + + test('Providing rows', async () => { + const [img, size] = await readImage(imgTest.img) + const height = 0 + let rows = 1 + expect(getVerticalTiles(img, size, height, rows).length).toBe(rows) + rows = 2 + expect(getVerticalTiles(img, size, height, rows).length).toBe(rows) + rows = size.width / 2 + expect(getVerticalTiles(img, size, height, rows).length).toBe(rows) + }) + }) + + describe('Get Grid Tiles', () => { + test('Providing invalid width-height and rows-columns', async () => { + const [img, size] = await readImage(imgTest.img) + let width = 1 + let height = 1 + let rows = 1 + let columns = 1 + let error = new SpliteaError('It needs to provide "rows & columns" or "width & height" but not both of them') + expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) + width = 1 + height = 0 + rows = 0 + columns = 1 + error = new SpliteaError('It needs to provide "columns" or "width" but not both of them') + expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) + width = 0 + height = 1 + rows = 1 + columns = 0 + error = new SpliteaError('It needs to provide "rows" or "height" but not both of them') + expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) + width = 0 + height = 1 + rows = 0 + columns = 0 + error = new SpliteaError('Missing "width"') + expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) + width = 1 + height = 0 + rows = 0 + columns = 0 + error = new SpliteaError('Missing "height"') + expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) + width = 0 + height = 0 + rows = 0 + columns = 1 + error = new SpliteaError('Missing "rows"') + expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) + width = 0 + height = 0 + rows = 1 + columns = 0 + error = new SpliteaError('Missing "columns"') + expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) + }) + + test('Providing width-height', async () => { + const [img, size] = await readImage(imgTest.img) + const rows = 0 + const columns = 0 + let width = size.width + let height = size.height + let images = 1 + expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) + width = size.width / 2 + height = size.height / 2 + images = 4 + expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) + width = size.width + height = size.height / 2 + images = 2 + expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) + width = size.width / 2 + height = size.height + // images = 2 + expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) + }) + + test('Providing rows-columns', async () => { + const [img, size] = await readImage(imgTest.img) + const width = 0 + const height = 0 + let columns = 1 + let rows = 1 + let images = 1 + expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) + columns = 2 + // rows = 1 + images = 2 + expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) + columns = 1 + rows = 2 + // images = 2 + expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) + columns = 2 + // rows = 2 + images = 4 + expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) + }) + }) + + describe('Get Tiles', () => { + // test('Invalid mode', async () => { + // const [img, size] = await readImage(imgTest.img) + // const tiles = { mode: undefined } + // let error = new SpliteaError('No mode defined') + // expect(() => getTiles(img, size, tiles)).toThrow(error) + // tiles.mode = null + // error = new SpliteaError('Invalid mode') + // expect(() => getTiles(img, size, tiles)).toThrow(error) + // tiles.mode = 'jrid' + // expect(() => getTiles(img, size, tiles)).toThrow(error) + // }) + + test('Mode Horizontal', async () => { + const [img, size] = await readImage(imgTest.img) + const tiles: Tiles = { mode: Mode.Horizontal } + expect(() => getTiles(img, size, tiles)).toThrow(SpliteaError) + tiles.columns = 4 + expect(getTiles(img, size, tiles).length).toBe(tiles.columns) + tiles.columns = undefined + tiles.width = size.width / 2 + expect(getTiles(img, size, tiles).length).toBe(2) + }) + + test('Mode Vertical', async () => { + const [img, size] = await readImage(imgTest.img) + const tiles: Tiles = { mode: Mode.Vertical } + expect(() => getTiles(img, size, tiles)).toThrow(SpliteaError) + tiles.rows = 4 + expect(getTiles(img, size, tiles).length).toBe(tiles.rows) + tiles.rows = undefined + tiles.height = size.height / 2 + expect(getTiles(img, size, tiles).length).toBe(2) + }) + + test('Mode Grid', async () => { + const [img, size] = await readImage(imgTest.img) + const tiles: Tiles = { mode: Mode.Grid } + expect(() => getTiles(img, size, tiles)).toThrow(SpliteaError) + tiles.rows = 4 + tiles.columns = 2 + expect(getTiles(img, size, tiles).length).toBe(tiles.rows * tiles.columns) + tiles.rows = undefined + tiles.columns = undefined + tiles.width = size.width / 2 + tiles.height = size.height / 2 + expect(getTiles(img, size, tiles).length).toBe(4) + }) + }) + + // describe('Unique tiles', () => {}) }) diff --git a/tests/utils.spec.ts b/tests/utils.spec.ts index df9d134..79d93bb 100644 --- a/tests/utils.spec.ts +++ b/tests/utils.spec.ts @@ -281,31 +281,40 @@ describe('Test Utils Module', () => { }) test('Invalid OS name', () => { + let name: string + let error: SpliteaError // Invalid filenames - let name = 'foo/bar' - let error = new SpliteaError(`${String(name)} is not a valid filename`) + name = 'foo/bar' + error = new SpliteaError(`${String(name)} is not a valid filename`) expect(() => parseName(name)).toThrow(error) + name = 'foo\u0000bar' error = new SpliteaError(`${String(name)} is not a valid filename`) expect(() => parseName(name)).toThrow(error) + name = 'foo\u001Fbar' error = new SpliteaError(`${String(name)} is not a valid filename`) expect(() => parseName(name)).toThrow(error) + name = 'foo*bar' error = new SpliteaError(`${String(name)} is not a valid filename`) expect(() => parseName(name)).toThrow(error) + name = 'foo:bar' error = new SpliteaError(`${String(name)} is not a valid filename`) expect(() => parseName(name)).toThrow(error) + name = 'AUX' error = new SpliteaError(`${String(name)} is not a valid filename`) expect(() => parseName(name)).toThrow(error) + name = 'com1' error = new SpliteaError(`${String(name)} is not a valid filename`) expect(() => parseName(name)).toThrow(error) // Valid filenames name = 'foo-bar' expect(parseName(name)).toBeTruthy() + name = 'foo\\bar' expect(parseName(name)).toBeTruthy() }) @@ -344,18 +353,32 @@ describe('Test Utils Module', () => { describe('parseOutput', () => { describe('data = buffer', () => { - test('only data', () => { + test('No store tiles -> No name', () => { const output: Output = { data: Data.Buffer } expect(parseOutput(output)).toBeTruthy() }) - test('name', () => { + test('Store tiles -> name', () => { const output: Output = { data: Data.Buffer, name: 'test' } expect(parseOutput(output)).toBeTruthy() const error = { data: Data.Buffer, name: 123 } expect(() => parseOutput(error)).toThrow(SpliteaError) }) }) + describe('data = path', () => { + test('Error -> No name', () => { + const error = new SpliteaError('"name" is required') + const output: Output = { data: Data.Path } + expect(() => parseOutput(output)).toThrow(error) + }) + + test('Store tiles', () => { + const output: Output = { data: Data.Path, name: 'test' } + expect(parseOutput(output)).toBeTruthy() + const error = { data: Data.Path, name: 123 } + expect(() => parseOutput(error)).toThrow(SpliteaError) + }) + }) }) }) }) From 6b36d012330f7f7e255652f86e2a1e14d4d677f5 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 9 Oct 2022 21:50:56 +0200 Subject: [PATCH 09/64] test uniques completed --- src/splitea.ts | 17 ++++++++++++----- tests/splitea.spec.ts | 36 +++++++++++++++++++++++++++++++----- 2 files changed, 43 insertions(+), 10 deletions(-) diff --git a/src/splitea.ts b/src/splitea.ts index 2fe1b13..0e8f351 100644 --- a/src/splitea.ts +++ b/src/splitea.ts @@ -127,7 +127,10 @@ export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { try { const distance = Jimp.distance(img1, img2) const diff = Jimp.diff(img1, img2) - if (distance < 0.15 || diff.percent < 0.15) return true + if (distance < 0.15 && diff.percent < 0.15) { + console.log(`distance = ${distance} | diff = ${diff.percent}`) + return true + } } catch (error) { console.log(error) throwError(error, 'Error comparing images') @@ -135,8 +138,12 @@ export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { return false } -export const uniqueTiles = (imgs: Image[]): Image[] => { - return imgs +export const uniqueTiles = (imgs: Jimp[]): Jimp[] => { + if (imgs.length === 0) return [] + if (imgs.length === 1) return [imgs[0]] + const unique = imgs[0] + const arr = imgs.slice(1).filter(elem => !areEqualImages(unique, elem)) + return [unique, ...uniqueTiles(arr)] } export const Splitea = async (image: string, tiles: Tiles, output?: Output): Promise => { @@ -148,11 +155,11 @@ export const Splitea = async (image: string, tiles: Tiles, output?: Output): Pro // Check output options parseOutput(output) // Get tiles - const tmpSlices = getTiles(img, size, tiles) + const tmpSlices = getTiles(img, size, tiles) as Jimp[] // Remove similars const uniqueSlices = (tiles?.unique === true) ? uniqueTiles(tmpSlices) : tmpSlices // Store tiles - if (output.) + // if (output) // Return tiles const slices = uniqueSlices return await Promise.resolve(slices) diff --git a/tests/splitea.spec.ts b/tests/splitea.spec.ts index 383bb05..920a401 100644 --- a/tests/splitea.spec.ts +++ b/tests/splitea.spec.ts @@ -1,8 +1,9 @@ import path from 'path' -import { getGridTiles, getHorizontalTiles, getSplitImage, getTiles, getVerticalTiles, readImage } from '../src/splitea' +import { areEqualImages, getGridTiles, getHorizontalTiles, getSplitImage, getTiles, getVerticalTiles, readImage, uniqueTiles } from '../src/splitea' import { SpliteaError } from '../src/errors' import { Tiles } from '../src/types' import { Mode } from '../src/enums' +// import Jimp from 'jimp/*' const imgFolder = path.join(__dirname, '..', 'examples') @@ -10,7 +11,8 @@ const imgTest = { img: path.join(imgFolder, 'forestmap.png'), imgBad: path.join(imgFolder, 'forestmapp.png'), width: 320, - height: 224 + height: 224, + imgSatie: path.join(imgFolder, 'Ericsatie.jpg') } describe('Test Splitea Module', () => { @@ -61,7 +63,7 @@ describe('Test Splitea Module', () => { }) }) - describe(' Get Horizontal Tiles', () => { + describe('Get Horizontal Tiles', () => { test('Providing width & columns', async () => { const [img, size] = await readImage(imgTest.img) const width = 1 @@ -92,7 +94,7 @@ describe('Test Splitea Module', () => { }) }) - describe(' Get Vertical Tiles', () => { + describe('Get Vertical Tiles', () => { test('Providing height & rows', async () => { const [img, size] = await readImage(imgTest.img) const height = 1 @@ -265,5 +267,29 @@ describe('Test Splitea Module', () => { }) }) - // describe('Unique tiles', () => {}) + describe('Unique tiles', () => { + test('Test areEqualImages', async () => { + const [img, _] = await readImage(imgTest.img) + const [imgSatie, __] = await readImage(imgTest.imgSatie) + // Equals + expect(areEqualImages(img, img)).toBeTruthy() + expect(areEqualImages(imgSatie, imgSatie)).toBeTruthy() + // Differents + expect(areEqualImages(img, imgSatie)).toBeFalsy() + expect(areEqualImages(imgSatie, img)).toBeFalsy() + }) + + test('uniqueTiles', async () => { + const [img1, _i1] = await readImage(imgTest.img) + const [img2, _i2] = await readImage(imgTest.img) + const [imgSatie1, _is1] = await readImage(imgTest.imgSatie) + const [imgSatie2, _is2] = await readImage(imgTest.imgSatie) + const uniques = uniqueTiles([img1, imgSatie1, img2, imgSatie2]) + expect(uniques.length).toBe(2) + const i1 = uniques[0] + const is1 = uniques[1] + expect(areEqualImages(i1, img1)).toBeTruthy() + expect(areEqualImages(is1, imgSatie1)).toBeTruthy() + }) + }) }) From 651ba7ac0216c0a9a3e31aa9e2947e2e253908bb Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 3 Aug 2023 19:52:12 +0200 Subject: [PATCH 10/64] updating deps --- package-lock.json | 8351 +++++++++++++++++++++++++-------------------- package.json | 50 +- 2 files changed, 4666 insertions(+), 3735 deletions(-) mode change 100644 => 100755 package-lock.json mode change 100644 => 100755 package.json diff --git a/package-lock.json b/package-lock.json old mode 100644 new mode 100755 index 407ec5c..f3555c4 --- a/package-lock.json +++ b/package-lock.json @@ -9,24 +9,33 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "jimp": "^0.16.0" + "jimp": "^0.22.10" }, "devDependencies": { - "@types/jest": "^28.1.2", - "jest": "^28.1.1", - "ts-jest": "^28.0.5", - "ts-node-dev": "1.1.8", - "ts-standard": "11.0.0", - "typescript": "4.6.4" + "@types/jest": "^29.5.3", + "jest": "^29.6.2", + "ts-jest": "^29.1.1", + "ts-node-dev": "^2.0.0", + "ts-standard": "^12.0.2", + "typescript": "^5.1.6" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { @@ -34,44 +43,47 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz", - "integrity": "sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz", - "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-compilation-targets": "^7.18.2", - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helpers": "^7.18.2", - "@babel/parser": "^7.18.5", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.5", - "@babel/types": "^7.18.4", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "json5": "^2.2.2", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -81,22 +93,16 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -106,52 +112,40 @@ } }, "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", - "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", + "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.20.2", - "semver": "^6.3.0" + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -160,152 +154,176 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", - "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, "dependencies": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", - "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.0", - "@babel/types": "^7.18.0" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", - "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", - "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "dependencies": { - "@babel/types": "^7.18.2" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", - "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", "dev": true, "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.2" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", - "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -351,13 +369,13 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" @@ -366,7 +384,7 @@ "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" @@ -385,9 +403,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz", - "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -456,6 +474,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -544,12 +577,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", - "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -558,57 +591,34 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template/node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz", - "integrity": "sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.18.5", - "@babel/types": "^7.18.4", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -616,18 +626,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -638,12 +636,13 @@ } }, "node_modules/@babel/types": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", - "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -656,33 +655,91 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", "dev": true, "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "engines": { - "node": ">= 4" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { @@ -697,20 +754,42 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@eslint/js": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", + "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -733,85 +812,6 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -822,60 +822,59 @@ } }, "node_modules/@jest/console": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.1.tgz", - "integrity": "sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", "dev": true, "dependencies": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/core": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.1.tgz", - "integrity": "sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", "dev": true, "dependencies": { - "@jest/console": "^28.1.1", - "@jest/reporters": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.0.2", - "jest-config": "^28.1.1", - "jest-haste-map": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-resolve-dependencies": "^28.1.1", - "jest-runner": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "jest-watcher": "^28.1.1", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", "micromatch": "^4.0.4", - "pretty-format": "^28.1.1", - "rimraf": "^3.0.0", + "pretty-format": "^29.6.2", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -886,104 +885,90 @@ } } }, - "node_modules/@jest/core/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@jest/environment": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.1.tgz", - "integrity": "sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", "dev": true, "dependencies": { - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-mock": "^28.1.1" + "jest-mock": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.1.tgz", - "integrity": "sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", "dev": true, "dependencies": { - "expect": "^28.1.1", - "jest-snapshot": "^28.1.1" + "expect": "^29.6.2", + "jest-snapshot": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.1.tgz", - "integrity": "sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", + "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", "dev": true, "dependencies": { - "jest-get-type": "^28.0.2" + "jest-get-type": "^29.4.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.1.tgz", - "integrity": "sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", "dev": true, "dependencies": { - "@jest/types": "^28.1.1", - "@sinonjs/fake-timers": "^9.1.1", + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^28.1.1", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1" + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.1.tgz", - "integrity": "sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", - "@jest/types": "^28.1.1" + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.1.tgz", - "integrity": "sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", + "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", + "@jest/console": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -995,17 +980,16 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", - "jest-worker": "^28.1.1", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.0" + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -1017,94 +1001,94 @@ } }, "node_modules/@jest/schemas": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz", - "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.23.3" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/source-map": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz", - "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-result": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.1.tgz", - "integrity": "sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", "dev": true, "dependencies": { - "@jest/console": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-sequencer": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz", - "integrity": "sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.1", + "@jest/test-result": "^29.6.2", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", + "jest-haste-map": "^29.6.2", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.1.tgz", - "integrity": "sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.1", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" + "write-file-atomic": "^4.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/types": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", - "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", "dev": true, "dependencies": { - "@jest/schemas": "^28.0.2", + "@jest/schemas": "^29.6.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -1112,16 +1096,15 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jimp/bmp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", - "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.10.tgz", + "integrity": "sha512-1UXRl1Nw1KptZ1r0ANqtXOst9vGH51dq7keVKQzyyTO2lz4dOaezS9StuSTNh+RmiHg/SVPaFRpPfB0S/ln4Kg==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", + "@jimp/utils": "^0.22.10", "bmp-js": "^0.1.0" }, "peerDependencies": { @@ -1129,51 +1112,35 @@ } }, "node_modules/@jimp/core": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", - "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.22.10.tgz", + "integrity": "sha512-ZKyrehVy6wu1PnBXIUpn/fXmyMRQiVSbvHDubgXz4bfTOao3GiOurKHjByutQIgozuAN6ZHWiSge1dKA+dex3w==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", + "@jimp/utils": "^0.22.10", "any-base": "^1.1.0", "buffer": "^5.2.0", "exif-parser": "^0.1.12", - "file-type": "^9.0.0", - "load-bmfont": "^1.3.1", - "mkdirp": "^0.5.1", - "phin": "^2.9.1", + "file-type": "^16.5.4", + "isomorphic-fetch": "^3.0.0", "pixelmatch": "^4.0.2", - "tinycolor2": "^1.4.1" - } - }, - "node_modules/@jimp/core/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "tinycolor2": "^1.6.0" } }, "node_modules/@jimp/custom": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", - "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.10.tgz", + "integrity": "sha512-sPZkUYe1hu0iIgNisjizxPJqq2vaaKvkCkPoXq2U6UV3ZA1si/WVdrg25da3IcGIEV+83AoHgM8TvqlLgrCJsg==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/core": "^0.16.1" + "@jimp/core": "^0.22.10" } }, "node_modules/@jimp/gif": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", - "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.22.10.tgz", + "integrity": "sha512-yEX2dSpamvkSx1PPDWGnKeWDrBz0vrCKjVG/cn4Zr68MRRT75tbZIeOrBa+RiUpY3ho5ix7d36LkYvt3qfUIhQ==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "gifwrap": "^0.9.2", + "@jimp/utils": "^0.22.10", + "gifwrap": "^0.10.1", "omggif": "^1.0.9" }, "peerDependencies": { @@ -1181,74 +1148,68 @@ } }, "node_modules/@jimp/jpeg": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", - "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.22.10.tgz", + "integrity": "sha512-6bu98pAcVN4DY2oiDLC4TOgieX/lZrLd1tombWZOFCN5PBmqaHQxm7IUmT+Wj4faEvh8QSHgVLSA+2JQQRJWVA==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "jpeg-js": "0.4.2" + "@jimp/utils": "^0.22.10", + "jpeg-js": "^0.4.4" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-blit": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", - "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.10.tgz", + "integrity": "sha512-6EI8Sl+mxYHEIy6Yteh6eknD+EZguKpNdr3sCKxNezmLR0+vK99vHcllo6uGSjXXiwtwS67Xqxn8SsoatL+UJQ==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-blur": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", - "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.10.tgz", + "integrity": "sha512-4XRTWuPVdMXJeclJMisXPGizeHtTryVaVV5HnuQXpKqIZtzXReCCpNGH8q/i0kBQOQMXhGWS3mpqOEwtpPePKw==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-circle": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", - "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.22.10.tgz", + "integrity": "sha512-mhcwTO1ywRxiCgtLGge6tDDIDPlX6qkI3CY+BjgGG/XhVHccCddXgOGLdlf+5OuKIEF2Nqs0V01LQEQIJFTmEw==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-color": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", - "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.10.tgz", + "integrity": "sha512-e4t3L7Kedd96E0x1XjsTM6NcgulKUU66HdFTao7Tc9FYJRFSlttARZ/C6LEryGDm/i69R6bJEpo7BkNz0YL55Q==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "tinycolor2": "^1.4.1" + "@jimp/utils": "^0.22.10", + "tinycolor2": "^1.6.0" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-contain": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", - "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.22.10.tgz", + "integrity": "sha512-eP8KrzctuEoqibQAxi9WhbnoRosydhiwg+IYya3dKuKDBTrD9UHt+ERlPQ/lTNWHzV/l4S1ntV3r9s9saJgsXA==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5", @@ -1258,12 +1219,11 @@ } }, "node_modules/@jimp/plugin-cover": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", - "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.22.10.tgz", + "integrity": "sha512-kJCwL5T1igfa0InCfkE7bBeqg26m46aoRt10ug+rvm11P6RrvRMGrgINFyIKB+mnB7CiyBN/MOula1CvLhSInQ==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5", @@ -1273,60 +1233,55 @@ } }, "node_modules/@jimp/plugin-crop": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", - "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.10.tgz", + "integrity": "sha512-BOZ+YGaZlhU7c5ye65RxikicXH0Ki0It6/XHISvipR5WZrfjLjL2Ke20G+AGnwBQc76gKenVcMXVUCnEjtZV+Q==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-displace": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", - "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.22.10.tgz", + "integrity": "sha512-llNiWWMTKISDXt5+cXI0GaFmZWAjlT+4fFLYf4eXquuL/9wZoQsEBhv2GdGd48mkiS8jZq1Nnb2Q4ehEPTvrzw==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-dither": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", - "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.22.10.tgz", + "integrity": "sha512-05WLmeV5M+P/0FS+bWf13hMew2X0oa8w9AtmevL2UyA/5GqiyvP2Xm5WfGQ8oFiiMvpnL6RFomJQOZtWca0C2w==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-fisheye": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", - "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.10.tgz", + "integrity": "sha512-InjiXvc7Gkzrx8VWtU97kDqV7ENnhHGPULymJWeZaF2aicud9Fpk4iCtd/DcZIrk7Cbe60A8RwNXN00HXIbSCg==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-flip": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", - "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.22.10.tgz", + "integrity": "sha512-42GkGtTHWnhnwTMPVK/kXObZbkYIpQWfuIfy5EMEMk6zRj05zpv4vsjkKWfuemweZINwfvD7wDJF7FVFNNcZZg==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5", @@ -1334,61 +1289,56 @@ } }, "node_modules/@jimp/plugin-gaussian": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", - "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.10.tgz", + "integrity": "sha512-ykrG/6lTp9Q5YA8jS5XzwMHtRxb9HOFMgtmnrUZ8kU+BK8REecfy9Ic5BUEOjCYvS1a/xLsnrZQU07iiYxBxFg==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-invert": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", - "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.22.10.tgz", + "integrity": "sha512-d8j9BlUJYs/c994t4azUWSWmQq4LLPG4ecm8m6SSNqap+S/HlVQGqjYhJEBbY9EXkOTYB9vBL9bqwSM1Rr6paA==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-mask": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", - "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.22.10.tgz", + "integrity": "sha512-yRBs1230XZkz24uFTdTcSlZ0HXZpIWzM3iFQN56MzZ7USgdVZjPPDCQ8I9RpqfZ36nDflQkUO0wV7ucsi4ogow==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-normalize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", - "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.22.10.tgz", + "integrity": "sha512-Wk9GX6eJMchX/ZAazVa70Fagu+OXMvHiPY+HrcEwcclL+p1wo8xAHEsf9iKno7Ja4EU9lLhbBRY5hYJyiKMEkg==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-print": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", - "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.22.10.tgz", + "integrity": "sha512-1U3VloIR+beE1kWPdGEJMiE2h1Do29iv3w8sBbvPyRP4qXxRFcDpmCGtctsrKmb1krlBFlj8ubyAY90xL+5n9w==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "load-bmfont": "^1.4.0" + "@jimp/utils": "^0.22.10", + "load-bmfont": "^1.4.1" }, "peerDependencies": { "@jimp/custom": ">=0.3.5", @@ -1396,24 +1346,22 @@ } }, "node_modules/@jimp/plugin-resize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", - "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.10.tgz", + "integrity": "sha512-ixomxVcnAONXDgaq0opvAx4UAOiEhOA/tipuhFFOvPKFd4yf1BAnEviB5maB0SBHHkJXPUSzDp/73xVTMGSe7g==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/plugin-rotate": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", - "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.10.tgz", + "integrity": "sha512-eeFX8dnRyf3LAdsdXWKWuN18hLRg8zy1cP0cP9rHzQVWRK7ck/QsLxK1vHq7MADGwQalNaNTJ9SQxH6c8mz6jw==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5", @@ -1423,12 +1371,11 @@ } }, "node_modules/@jimp/plugin-scale": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", - "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.10.tgz", + "integrity": "sha512-TG/H0oUN69C9ArBCZg4PmuoixFVKIiru8282KzSB/Tp1I0xwX0XLTv3dJ5pobPlIgPcB+TmD4xAIdkCT4rtWxg==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5", @@ -1436,12 +1383,11 @@ } }, "node_modules/@jimp/plugin-shadow": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", - "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.22.10.tgz", + "integrity": "sha512-TN9xm6fI7XfxbMUQqFPZjv59Xdpf0tSiAQdINB4g6pJMWiVANR/74OtDONoy3KKpenu5Y38s+FkrtID/KcQAhw==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5", @@ -1450,12 +1396,11 @@ } }, "node_modules/@jimp/plugin-threshold": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", - "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.22.10.tgz", + "integrity": "sha512-DA2lSnU0TgIRbAgmXaxroYw3Ad6J2DOFEoJp0NleSm2h3GWbZEE5yW9U2B6hD3iqn4AenG4E2b2WzHXZyzSutw==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { "@jimp/custom": ">=0.3.5", @@ -1464,32 +1409,31 @@ } }, "node_modules/@jimp/plugins": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", - "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/plugin-blit": "^0.16.1", - "@jimp/plugin-blur": "^0.16.1", - "@jimp/plugin-circle": "^0.16.1", - "@jimp/plugin-color": "^0.16.1", - "@jimp/plugin-contain": "^0.16.1", - "@jimp/plugin-cover": "^0.16.1", - "@jimp/plugin-crop": "^0.16.1", - "@jimp/plugin-displace": "^0.16.1", - "@jimp/plugin-dither": "^0.16.1", - "@jimp/plugin-fisheye": "^0.16.1", - "@jimp/plugin-flip": "^0.16.1", - "@jimp/plugin-gaussian": "^0.16.1", - "@jimp/plugin-invert": "^0.16.1", - "@jimp/plugin-mask": "^0.16.1", - "@jimp/plugin-normalize": "^0.16.1", - "@jimp/plugin-print": "^0.16.1", - "@jimp/plugin-resize": "^0.16.1", - "@jimp/plugin-rotate": "^0.16.1", - "@jimp/plugin-scale": "^0.16.1", - "@jimp/plugin-shadow": "^0.16.1", - "@jimp/plugin-threshold": "^0.16.1", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.22.10.tgz", + "integrity": "sha512-KDMZyM6pmvS8freB+UBLko1TO/k4D7URS/nphCozuH+P7i3UMe7NdckXKJ8u+WD6sqN0YFYvBehpkpnUiw/91w==", + "dependencies": { + "@jimp/plugin-blit": "^0.22.10", + "@jimp/plugin-blur": "^0.22.10", + "@jimp/plugin-circle": "^0.22.10", + "@jimp/plugin-color": "^0.22.10", + "@jimp/plugin-contain": "^0.22.10", + "@jimp/plugin-cover": "^0.22.10", + "@jimp/plugin-crop": "^0.22.10", + "@jimp/plugin-displace": "^0.22.10", + "@jimp/plugin-dither": "^0.22.10", + "@jimp/plugin-fisheye": "^0.22.10", + "@jimp/plugin-flip": "^0.22.10", + "@jimp/plugin-gaussian": "^0.22.10", + "@jimp/plugin-invert": "^0.22.10", + "@jimp/plugin-mask": "^0.22.10", + "@jimp/plugin-normalize": "^0.22.10", + "@jimp/plugin-print": "^0.22.10", + "@jimp/plugin-resize": "^0.22.10", + "@jimp/plugin-rotate": "^0.22.10", + "@jimp/plugin-scale": "^0.22.10", + "@jimp/plugin-shadow": "^0.22.10", + "@jimp/plugin-threshold": "^0.22.10", "timm": "^1.6.1" }, "peerDependencies": { @@ -1497,41 +1441,38 @@ } }, "node_modules/@jimp/png": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", - "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.22.10.tgz", + "integrity": "sha512-RYinU7tZToeeR2g2qAMn42AU+8OUHjXPKZZ9RkmoL4bguA1xyZWaSdr22/FBkmnHhOERRlr02KPDN1OTOYHLDQ==", "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "pngjs": "^3.3.3" + "@jimp/utils": "^0.22.10", + "pngjs": "^6.0.0" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/tiff": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", - "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.22.10.tgz", + "integrity": "sha512-OaivlSYzpNTHyH/h7pEtl3A7F7TbsgytZs52GLX/xITW92ffgDgT6PkldIrMrET6ERh/hdijNQiew7IoEEr2og==", "dependencies": { - "@babel/runtime": "^7.7.2", - "utif": "^2.0.1" + "utif2": "^4.0.1" }, "peerDependencies": { "@jimp/custom": ">=0.3.5" } }, "node_modules/@jimp/types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", - "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/bmp": "^0.16.1", - "@jimp/gif": "^0.16.1", - "@jimp/jpeg": "^0.16.1", - "@jimp/png": "^0.16.1", - "@jimp/tiff": "^0.16.1", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.22.10.tgz", + "integrity": "sha512-u/r+XYzbCx4zZukDmxx8S0er3Yq3iDPI6+31WKX0N18i2qPPJYcn8qwIFurfupRumGvJ8SlGLCgt/T+Y8zzUIw==", + "dependencies": { + "@jimp/bmp": "^0.22.10", + "@jimp/gif": "^0.22.10", + "@jimp/jpeg": "^0.22.10", + "@jimp/png": "^0.22.10", + "@jimp/tiff": "^0.22.10", "timm": "^1.6.1" }, "peerDependencies": { @@ -1539,59 +1480,59 @@ } }, "node_modules/@jimp/utils": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", - "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.10.tgz", + "integrity": "sha512-ztlOK9Mm2iLG2AMoabzM4i3WZ/FtshcgsJCbZCRUs/DKoeS2tySRJTnQZ1b7Roq0M4Ce+FUAxnCAcBV0q7PH9w==", "dependencies": { - "@babel/runtime": "^7.7.2", "regenerator-runtime": "^0.13.3" } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", - "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "node_modules/@nodelib/fs.scandir": { @@ -1630,43 +1571,72 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz", - "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==", + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "dependencies": { - "@sinonjs/commons": "^1.7.0" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" }, - "node_modules/@types/babel__generator": { + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { "version": "7.6.4", "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", @@ -1686,18 +1656,18 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, "dependencies": { - "@babel/types": "^7.3.0" + "@babel/types": "^7.20.7" } }, "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, "dependencies": { "@types/node": "*" @@ -1728,19 +1698,19 @@ } }, "node_modules/@types/jest": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.2.tgz", - "integrity": "sha512-5dNM7mMuIrCtNJsFfvUO/5xCrG8swuT2c7ND+sl3XwlwxJf3k7e7o+PRvcFN/iIm8XhCqHqxLOj9yutDDOJoRg==", + "version": "29.5.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", + "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", "dev": true, "dependencies": { - "jest-matcher-utils": "^28.0.0", - "pretty-format": "^28.0.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "node_modules/@types/json5": { @@ -1754,10 +1724,10 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" }, - "node_modules/@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", "dev": true }, "node_modules/@types/stack-utils": { @@ -1794,30 +1764,32 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", - "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.33.0", - "@typescript-eslint/scope-manager": "4.33.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.1.0", - "semver": "^7.3.5", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1825,81 +1797,84 @@ } } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", - "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -1907,21 +1882,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -1933,17 +1908,43 @@ } } }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -1951,9 +1952,9 @@ } }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1971,6 +1972,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1987,15 +1997,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -2011,18 +2012,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -2080,16 +2069,29 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", "is-string": "^1.0.7" }, "engines": { @@ -2108,15 +2110,34 @@ "node": ">=8" } }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.flat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", - "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -2127,14 +2148,14 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", - "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -2144,31 +2165,67 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/babel-jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.1.tgz", - "integrity": "sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", "dev": true, "dependencies": { - "@jest/transform": "^28.1.1", + "@jest/transform": "^29.6.2", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.1", + "babel-preset-jest": "^29.5.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" @@ -2191,9 +2248,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz", - "integrity": "sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -2202,7 +2259,7 @@ "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/babel-preset-current-node-syntax": { @@ -2229,16 +2286,16 @@ } }, "node_modules/babel-preset-jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz", - "integrity": "sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^28.1.1", + "babel-plugin-jest-hoist": "^29.5.0", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -2306,9 +2363,9 @@ } }, "node_modules/browserslist": { - "version": "4.20.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz", - "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==", + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "dev": true, "funding": [ { @@ -2318,14 +2375,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001349", - "electron-to-chromium": "^1.4.147", - "escalade": "^3.1.1", - "node-releases": "^2.0.5", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -2392,6 +2452,15 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -2424,9 +2493,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001356", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001356.tgz", - "integrity": "sha512-/30854bktMLhxtjieIxsrJBfs2gTM1pel6MXKF3K+RdIVJZcsn2A2QdhsuR4/p9+R204fZw0zCBBhktX8xWuyQ==", + "version": "1.0.30001519", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", + "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", "dev": true, "funding": [ { @@ -2436,6 +2505,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -2498,20 +2571,23 @@ "dev": true }, "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "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==", "dev": true, "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/co": { @@ -2525,9 +2601,9 @@ } }, "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, "node_modules/color-convert": { @@ -2555,13 +2631,10 @@ "dev": true }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "node_modules/create-require": { "version": "1.1.1", @@ -2601,10 +2674,18 @@ } }, "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } }, "node_modules/deep-is": { "version": "0.1.4", @@ -2613,18 +2694,18 @@ "dev": true }, "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "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==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "dependencies": { "has-property-descriptors": "^1.0.0", @@ -2656,12 +2737,12 @@ } }, "node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/dir-glob": { @@ -2703,15 +2784,15 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.161", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.161.tgz", - "integrity": "sha512-sTjBRhqh6wFodzZtc5Iu8/R95OkwaPNn7tj/TaDU5nu/5EFiQDtADGAXdR4tJcTEHlYfJpHqigzJqHvPgehP8A==", + "version": "1.4.482", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz", + "integrity": "sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==", "dev": true }, "node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, "engines": { "node": ">=12" @@ -2726,18 +2807,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -2748,34 +2817,50 @@ } }, "node_modules/es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", + "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", "has": "^1.0.3", "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" }, "engines": { "node": ">= 0.4" @@ -2784,6 +2869,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-shim-unscopables": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", @@ -2820,78 +2919,72 @@ } }, "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "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", - "js-yaml": "^3.13.1", + "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.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-config-standard": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", - "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", "dev": true, "funding": [ { @@ -2908,16 +3001,16 @@ } ], "peerDependencies": { - "eslint": "^7.12.1", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1 || ^5.0.0" + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0" } }, "node_modules/eslint-config-standard-jsx": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz", - "integrity": "sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", + "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", "dev": true, "funding": [ { @@ -2934,36 +3027,37 @@ } ], "peerDependencies": { - "eslint": "^7.12.1", - "eslint-plugin-react": "^7.21.5" + "eslint": "^8.8.0", + "eslint-plugin-react": "^7.28.0" } }, "node_modules/eslint-config-standard-with-typescript": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-21.0.1.tgz", - "integrity": "sha512-FeiMHljEJ346Y0I/HpAymNKdrgKEpHpcg/D93FvPHWfCzbT4QyUJba/0FwntZeGLXfUiWDSeKmdJD597d9wwiw==", + "version": "23.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-23.0.0.tgz", + "integrity": "sha512-iaaWifImn37Z1OXbNW1es7KI+S7D408F9ys0bpaQf2temeBWlvb0Nc5qHkOgYaRb5QxTZT32GGeN1gtswASOXA==", "dev": true, "dependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint-config-standard": "^16.0.0" + "@typescript-eslint/parser": "^5.0.0", + "eslint-config-standard": "17.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.1", - "eslint": "^7.12.1", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1 || ^5.0.0", - "typescript": "^3.9 || ^4.0.0" + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0", + "typescript": "*" } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dev": true, "dependencies": { "debug": "^3.2.7", - "resolve": "^1.20.0" + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { @@ -2975,17 +3069,38 @@ "ms": "^2.1.1" } }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/eslint-module-utils": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", - "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "dependencies": { - "debug": "^3.2.7", - "find-up": "^2.1.0" + "debug": "^3.2.7" }, "engines": { "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, "node_modules/eslint-module-utils/node_modules/debug": { @@ -2998,9 +3113,9 @@ } }, "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", "dev": true, "dependencies": { "eslint-utils": "^2.0.0", @@ -3041,24 +3156,29 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", + "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", "dev": true, "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", "has": "^1.0.3", - "is-core-module": "^2.8.1", + "is-core-module": "^2.12.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "resolve": "^1.22.3", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" }, "engines": { "node": ">=4" @@ -3068,12 +3188,12 @@ } }, "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { @@ -3088,97 +3208,107 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "node_modules/eslint-plugin-import/node_modules/resolve": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", + "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", "dev": true, "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" + "is-core-module": "^2.12.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=8.10.0" + "bin": { + "resolve": "bin/resolve" }, - "peerDependencies": { - "eslint": ">=5.16.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-node/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-n": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", + "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" }, "engines": { - "node": ">=6" + "node": ">=12.22.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/eslint-plugin-n/node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, "bin": { - "semver": "bin/semver.js" + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/eslint-plugin-promise": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", - "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "eslint": "^7.0.0" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/eslint-plugin-react": { - "version": "7.29.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz", - "integrity": "sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==", + "version": "7.33.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", + "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", "dev": true, "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flatmap": "^1.2.5", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", "doctrine": "^2.1.0", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.0", - "object.values": "^1.1.5", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.6" + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" }, "engines": { "node": ">=4" @@ -3200,22 +3330,26 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -3261,7 +3395,7 @@ "eslint": ">=5" } }, - "node_modules/eslint-visitor-keys": { + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", @@ -3270,72 +3404,137 @@ "node": ">=10" } }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, "engines": { - "node": ">= 4" + "node": ">=10.13.0" } }, - "node_modules/eslint/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "p-limit": "^3.0.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -3352,9 +3551,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -3419,7 +3618,7 @@ "node_modules/exif-parser": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" + "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" }, "node_modules/exit": { "version": "0.1.2", @@ -3431,19 +3630,20 @@ } }, "node_modules/expect": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.1.tgz", - "integrity": "sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", "dev": true, "dependencies": { - "@jest/expect-utils": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1" + "@jest/expect-utils": "^29.6.2", + "@types/node": "*", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/fast-deep-equal": { @@ -3453,9 +3653,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -3477,22 +3677,22 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "dependencies": { "bser": "2.1.1" @@ -3511,11 +3711,19 @@ } }, "node_modules/file-type": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", - "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", + "version": "16.5.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", + "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", + "dependencies": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, "node_modules/fill-range": { @@ -3531,15 +3739,16 @@ } }, "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/flat-cache": { @@ -3571,11 +3780,20 @@ } }, "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3620,12 +3838,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -3654,14 +3866,15 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3717,9 +3930,9 @@ } }, "node_modules/gifwrap": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.4.tgz", - "integrity": "sha512-MDMwbhASQuVeD4JKd1fKgNgCRL3fGqMM4WaqpNhWO0JiMOAjbQdumbs4BbBZEy9/M00EHEjKN3HieVhCUlwjeQ==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz", + "integrity": "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==", "dependencies": { "image-q": "^4.0.0", "omggif": "^1.0.10" @@ -3767,9 +3980,9 @@ } }, "node_modules/globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -3781,6 +3994,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -3801,12 +4041,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -3849,6 +4107,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -3911,9 +4181,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { "node": ">= 4" @@ -3943,6 +4213,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/import-local": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", @@ -3984,16 +4263,15 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.0", + "get-intrinsic": "^1.2.0", "has": "^1.0.3", "side-channel": "^1.0.4" }, @@ -4001,10 +4279,24 @@ "node": ">= 0.4" } }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "node_modules/is-bigint": { @@ -4048,9 +4340,9 @@ } }, "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "engines": { "node": ">= 0.4" @@ -4060,9 +4352,9 @@ } }, "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -4166,6 +4458,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -4236,6 +4537,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -4248,12 +4564,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "dependencies": { + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" + } + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -4264,9 +4595,9 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "dependencies": { "@babel/core": "^7.12.3", @@ -4280,26 +4611,26 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-lib-source-maps": { @@ -4317,9 +4648,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -4330,21 +4661,21 @@ } }, "node_modules/jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.1.tgz", - "integrity": "sha512-qw9YHBnjt6TCbIDMPMpJZqf9E12rh6869iZaN08/vpOGgHJSAaLLUn6H8W3IAEuy34Ls3rct064mZLETkxJ2XA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", + "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", "dev": true, "dependencies": { - "@jest/core": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/core": "^29.6.2", + "@jest/types": "^29.6.1", "import-local": "^3.0.2", - "jest-cli": "^28.1.1" + "jest-cli": "^29.6.2" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -4356,64 +4687,65 @@ } }, "node_modules/jest-changed-files": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz", - "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", "dev": true, "dependencies": { "execa": "^5.0.0", - "throat": "^6.0.1" + "p-limit": "^3.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.1.tgz", - "integrity": "sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "dedent": "^0.7.0", + "dedent": "^1.0.0", "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.1", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "pretty-format": "^28.1.1", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" + "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-cli": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.1.tgz", - "integrity": "sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", + "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", "dev": true, "dependencies": { - "@jest/core": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/core": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", + "jest-config": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -4421,7 +4753,7 @@ "jest": "bin/jest.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -4433,36 +4765,36 @@ } }, "node_modules/jest-config": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.1.tgz", - "integrity": "sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.1", - "@jest/types": "^28.1.1", - "babel-jest": "^28.1.1", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.1", - "jest-environment-node": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-runner": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^28.1.1", + "pretty-format": "^29.6.2", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@types/node": "*", @@ -4477,24 +4809,6 @@ } } }, - "node_modules/jest-config/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-config/node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -4508,176 +4822,165 @@ } }, "node_modules/jest-diff": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", - "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.1.tgz", - "integrity": "sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", "dev": true, "dependencies": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.1", - "pretty-format": "^28.1.1" + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-environment-node": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.1.tgz", - "integrity": "sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1" + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.1.tgz", - "integrity": "sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", "dev": true, "dependencies": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.1", - "jest-worker": "^28.1.1", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "node_modules/jest-leak-detector": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz", - "integrity": "sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", "dev": true, "dependencies": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", - "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.1.tgz", - "integrity": "sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.1", + "pretty-format": "^29.6.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-message-util/node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-mock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.1.tgz", - "integrity": "sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.1", - "@types/node": "*" + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "engines": { "node": ">=6" @@ -4692,120 +4995,110 @@ } }, "node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.1.tgz", - "integrity": "sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", + "jest-haste-map": "^29.6.2", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", + "resolve.exports": "^2.0.0", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz", - "integrity": "sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", + "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", "dev": true, "dependencies": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.1" + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.1.tgz", - "integrity": "sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", "dev": true, "dependencies": { - "@jest/console": "^28.1.1", - "@jest/environment": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.10.2", + "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.1", - "jest-haste-map": "^28.1.1", - "jest-leak-detector": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-resolve": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-util": "^28.1.1", - "jest-watcher": "^28.1.1", - "jest-worker": "^28.1.1", - "source-map-support": "0.5.13", - "throat": "^6.0.1" + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.1.tgz", - "integrity": "sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/globals": "^28.1.1", - "@jest/source-map": "^28.0.2", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-mock": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/strip-bom": { @@ -4818,46 +5111,43 @@ } }, "node_modules/jest-snapshot": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.1.tgz", - "integrity": "sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^28.1.1", + "expect": "^29.6.2", "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.1", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", "natural-compare": "^1.4.0", - "pretty-format": "^28.1.1", - "semver": "^7.3.5" + "pretty-format": "^29.6.2", + "semver": "^7.5.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-util": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.1.tgz", - "integrity": "sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", "dev": true, "dependencies": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -4865,24 +5155,24 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.1.tgz", - "integrity": "sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", + "jest-get-type": "^29.4.3", "leven": "^3.1.0", - "pretty-format": "^28.1.1" + "pretty-format": "^29.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate/node_modules/camelcase": { @@ -4898,36 +5188,37 @@ } }, "node_modules/jest-watcher": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.1.tgz", - "integrity": "sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.1", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", "string-length": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz", - "integrity": "sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", "dev": true, "dependencies": { "@types/node": "*", + "jest-util": "^29.6.2", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker/node_modules/supports-color": { @@ -4946,21 +5237,20 @@ } }, "node_modules/jimp": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.0.tgz", - "integrity": "sha512-WRfGlXB6/0xY3mSoskfVhWVNSegVZCgmvunJDc41QthTWi5oRG2FeL7eOcX0zz/Z+dYRu6Q0ibO2yltC+EIptA==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.16.0", - "@jimp/plugins": "^0.16.0", - "@jimp/types": "^0.16.0", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.22.10.tgz", + "integrity": "sha512-lCaHIJAgTOsplyJzC1w/laxSxrbSsEBw4byKwXgUdMmh+ayPsnidTblenQm+IvhIs44Gcuvlb6pd2LQ0wcKaKg==", + "dependencies": { + "@jimp/custom": "^0.22.10", + "@jimp/plugins": "^0.22.10", + "@jimp/types": "^0.22.10", "regenerator-runtime": "^0.13.3" } }, "node_modules/jpeg-js": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", - "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", + "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==" }, "node_modules/js-tokens": { "version": "4.0.0", @@ -5014,13 +5304,13 @@ "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -5030,13 +5320,15 @@ } }, "node_modules/jsx-ast-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz", - "integrity": "sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, "dependencies": { - "array-includes": "^3.1.4", - "object.assign": "^4.1.2" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { "node": ">=4.0" @@ -5095,41 +5387,27 @@ } }, "node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-json-file/node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-7.0.1.tgz", + "integrity": "sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==", "dev": true, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/lodash.memoize": { @@ -5144,12 +5422,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -5175,29 +5447,20 @@ } }, "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -5264,7 +5527,7 @@ "node_modules/min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", "dependencies": { "dom-walk": "^0.1.0" } @@ -5284,7 +5547,8 @@ "node_modules/minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true }, "node_modules/mkdirp": { "version": "1.0.4", @@ -5307,9 +5571,34 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, + "node_modules/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -5317,9 +5606,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", - "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "dev": true }, "node_modules/normalize-path": { @@ -5346,16 +5635,16 @@ "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5371,14 +5660,14 @@ } }, "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -5389,28 +5678,28 @@ } }, "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { "node": ">= 0.4" @@ -5419,28 +5708,40 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" + } + }, "node_modules/object.hasown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", - "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", "dev": true, "dependencies": { "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { "node": ">= 0.4" @@ -5479,53 +5780,71 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "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", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "p-try": "^1.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=4" + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/pako": { @@ -5548,12 +5867,12 @@ "node_modules/parse-bmfont-ascii": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", - "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" + "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==" }, "node_modules/parse-bmfont-binary": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", - "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" + "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==" }, "node_modules/parse-bmfont-xml": { "version": "1.1.4", @@ -5570,25 +5889,30 @@ "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" }, "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { + "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-is-absolute": { @@ -5624,6 +5948,18 @@ "node": ">=8" } }, + "node_modules/peek-readable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", + "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==", + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/phin": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", @@ -5657,9 +5993,9 @@ } }, "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "engines": { "node": ">= 6" @@ -5668,7 +6004,7 @@ "node_modules/pixelmatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", - "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", "dependencies": { "pngjs": "^3.0.0" }, @@ -5676,78 +6012,110 @@ "pixelmatch": "bin/pixelmatch" } }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/pkg-conf": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", - "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-4.0.0.tgz", + "integrity": "sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==", "dev": true, "dependencies": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" + "find-up": "^6.0.0", + "load-json-file": "^7.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pkg-conf/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pkg-conf/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pkg-conf/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pkg-conf/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-conf/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/pkg-conf/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pkg-dir": { @@ -5762,82 +6130,12 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", "engines": { - "node": ">=4.0.0" + "node": ">=12.13.0" } }, "node_modules/prelude-ls": { @@ -5850,18 +6148,17 @@ } }, "node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.6.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/pretty-format/node_modules/ansi-styles": { @@ -5876,29 +6173,14 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { "node": ">= 0.6.0" } }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -5923,15 +6205,37 @@ "react-is": "^16.13.1" } }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, "engines": { "node": ">=6" } }, + "node_modules/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -5953,11 +6257,39 @@ ] }, "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, + "node_modules/readable-stream": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -5971,19 +6303,19 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -6013,15 +6345,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -6051,7 +6374,7 @@ "node": ">=8" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { + "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", @@ -6060,19 +6383,10 @@ "node": ">=8" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, "engines": { "node": ">=10" @@ -6123,11 +6437,37 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/sax": { "version": "1.2.4", @@ -6135,9 +6475,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -6205,23 +6545,6 @@ "node": ">=8" } }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -6232,9 +6555,9 @@ } }, "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", @@ -6244,13 +6567,13 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "dependencies": { "escape-string-regexp": "^2.0.0" @@ -6259,19 +6582,10 @@ "node": ">=10" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/standard-engine": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-14.0.1.tgz", - "integrity": "sha512-7FEzDwmHDOGva7r9ifOzD3BGdTbA7ujJ50afLVdW/tK14zQEptJjbFuUfn50irqdHDcTbNh0DTIoMPynMCXb0Q==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", + "integrity": "sha512-VHysfoyxFu/ukT+9v49d4BRXIokFRZuH3z1VRxzFArZdjSCFpro6rEIU3ji7e4AoAtuSfKBkiOmsrDqKW5ZSRw==", "dev": true, "funding": [ { @@ -6289,14 +6603,153 @@ ], "dependencies": { "get-stdin": "^8.0.0", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "pkg-conf": "^3.1.0", "xdg-basedir": "^4.0.0" }, "engines": { - "node": ">=8.10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/standard-engine/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/standard-engine/node_modules/load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/standard-engine/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, + "node_modules/standard-engine/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/standard-engine/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/standard-engine/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-engine/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-engine/node_modules/pkg-conf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", + "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "load-json-file": "^5.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/standard-engine/node_modules/type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -6325,47 +6778,64 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", - "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.1", + "regexp.prototype.flags": "^1.4.3", "side-channel": "^1.0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6410,26 +6880,29 @@ "node": ">=0.10.0" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "node_modules/strtok3": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", + "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", "dependencies": { - "has-flag": "^4.0.0" + "@tokenizer/token": "^0.3.0", + "peek-readable": "^4.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" @@ -6447,60 +6920,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -6518,13 +6937,7 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "node_modules/timm": { @@ -6533,12 +6946,9 @@ "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" }, "node_modules/tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", - "engines": { - "node": "*" - } + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" }, "node_modules/tmpl": { "version": "1.0.5", @@ -6567,6 +6977,27 @@ "node": ">=8.0" } }, + "node_modules/token-types": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", + "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -6577,36 +7008,40 @@ } }, "node_modules/ts-jest": { - "version": "28.0.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.5.tgz", - "integrity": "sha512-Sx9FyP9pCY7pUzQpy4FgRZf2bhHY3za576HMKJFs+OnQ9jS96Du5vNsDKkyedQkik+sEabbKAnCliv9BEsHZgQ==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", - "jest-util": "^28.0.0", - "json5": "^2.2.1", + "jest-util": "^29.0.0", + "json5": "^2.2.3", "lodash.memoize": "4.x", "make-error": "1.x", - "semver": "7.x", + "semver": "^7.5.3", "yargs-parser": "^21.0.1" }, "bin": { "ts-jest": "cli.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": ">=7.0.0-beta.0 <8", - "babel-jest": "^28.0.0", - "jest": "^28.0.0", - "typescript": ">=4.3" + "@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 }, @@ -6616,9 +7051,9 @@ } }, "node_modules/ts-jest/node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -6628,46 +7063,63 @@ } }, "node_modules/ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "dev": true, - "dependencies": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "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", - "source-map-support": "^0.5.17", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "bin": { "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", "ts-node-script": "dist/bin-script.js", "ts-node-transpile-only": "dist/bin-transpile.js", "ts-script": "dist/bin-script-deprecated.js" }, - "engines": { - "node": ">=10.0.0" - }, "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, "node_modules/ts-node-dev": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-1.1.8.tgz", - "integrity": "sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz", + "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==", "dev": true, "dependencies": { "chokidar": "^3.5.1", "dynamic-dedupe": "^0.3.0", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "mkdirp": "^1.0.4", "resolve": "^1.0.0", "rimraf": "^2.6.1", "source-map-support": "^0.5.12", "tree-kill": "^1.2.2", - "ts-node": "^9.0.0", + "ts-node": "^10.4.0", "tsconfig": "^7.0.0" }, "bin": { @@ -6688,33 +7140,32 @@ } }, "node_modules/ts-standard": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/ts-standard/-/ts-standard-11.0.0.tgz", - "integrity": "sha512-fe+PCOM6JTMIcG1Smr8BQJztUi3dc/SDJMqezxNAL8pe/0+h0shK0+fNPTuF1hMVMYO+O53Wtp9WQHqj0GJtMw==", - "dev": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "^4.26.1", - "eslint": "^7.28.0", - "eslint-config-standard": "^16.0.3", - "eslint-config-standard-jsx": "^10.0.0", - "eslint-config-standard-with-typescript": "^21.0.1", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-react": "^7.24.0", - "get-stdin": "^8.0.0", - "minimist": "^1.2.5", - "pkg-conf": "^3.1.0", - "standard-engine": "^14.0.1" + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/ts-standard/-/ts-standard-12.0.2.tgz", + "integrity": "sha512-XX2wrB9fKKTfBj4yD3ABm9iShzZcS2iWcPK8XzlBvuL20+wMiLgiz/k5tXgZwTaYq5wRhbks1Y9PelhujF/9ag==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^8.0.1", + "eslint-config-standard-jsx": "^11.0.0", + "eslint-config-standard-with-typescript": "^23.0.0", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0", + "eslint-plugin-react": "^7.28.0", + "minimist": "^1.2.6", + "pkg-conf": "^4.0.0", + "standard-engine": "^15.0.0" }, "bin": { - "ts-standard": "bin/cmd.js" + "ts-standard": "cli.js" }, "engines": { - "node": ">=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "typescript": ">=3.8" + "typescript": "*" } }, "node_modules/tsconfig": { @@ -6730,13 +7181,13 @@ } }, "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, "dependencies": { "@types/json5": "^0.0.29", - "json5": "^1.0.1", + "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } @@ -6780,32 +7231,97 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "engines": { - "node": ">=4" + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/unbox-primitive": { @@ -6823,6 +7339,36 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -6832,27 +7378,32 @@ "punycode": "^2.1.0" } }, - "node_modules/utif": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", - "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "node_modules/utif2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/utif2/-/utif2-4.1.0.tgz", + "integrity": "sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==", "dependencies": { - "pako": "^1.0.5" + "pako": "^1.0.11" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", - "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0" }, @@ -6860,6 +7411,12 @@ "node": ">=10.12.0" } }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -6869,6 +7426,25 @@ "makeerror": "1.0.12" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-fetch": { + "version": "3.6.17", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", + "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6900,13 +7476,23 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/wrap-ansi": { @@ -6933,16 +7519,16 @@ "dev": true }, "node_modules/write-file-atomic": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/xdg-basedir": { @@ -6968,7 +7554,7 @@ "node_modules/xml-parse-from-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", - "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" + "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==" }, "node_modules/xml2js": { "version": "0.4.23", @@ -7014,27 +7600,27 @@ "dev": true }, "node_modules/yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "cliui": "^7.0.2", + "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.0.0" + "yargs-parser": "^21.1.1" }, "engines": { "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { "node": ">=12" @@ -7048,228 +7634,250 @@ "engines": { "node": ">=6" } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.22.5" } }, "@babel/compat-data": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz", - "integrity": "sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "dev": true }, "@babel/core": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz", - "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-compilation-targets": "^7.18.2", - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helpers": "^7.18.2", - "@babel/parser": "^7.18.5", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.5", - "@babel/types": "^7.18.4", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "json5": "^2.2.2", + "semver": "^6.3.1" }, "dependencies": { - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.7" - } + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", "dev": true, "requires": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } } }, "@babel/helper-compilation-targets": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", - "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", + "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", "dev": true, "requires": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.20.2", - "semver": "^6.3.0" + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, "@babel/helper-environment-visitor": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", - "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true }, "@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" } }, "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" } }, "@babel/helper-module-transforms": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", - "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.0", - "@babel/types": "^7.18.0" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" } }, "@babel/helper-plugin-utils": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", - "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true }, "@babel/helper-simple-access": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", - "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "requires": { - "@babel/types": "^7.18.2" + "@babel/types": "^7.22.5" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" } }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true }, "@babel/helpers": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", - "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.2" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" } }, "@babel/highlight": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", - "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -7306,19 +7914,19 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { @@ -7333,9 +7941,9 @@ } }, "@babel/parser": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz", - "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -7383,6 +7991,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -7447,71 +8064,43 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", - "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", - "requires": { - "regenerator-runtime": "^0.13.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.7" - } - } + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/traverse": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz", - "integrity": "sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.18.5", - "@babel/types": "^7.18.4", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.7" - } - }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -7521,12 +8110,13 @@ } }, "@babel/types": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", - "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, @@ -7536,29 +8126,74 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "dev": true + }, "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", "dev": true, "requires": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -7567,17 +8202,29 @@ } } }, + "@eslint/js": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "dev": true + }, "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", + "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" } }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -7595,63 +8242,6 @@ "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } } }, "@istanbuljs/schema": { @@ -7661,135 +8251,124 @@ "dev": true }, "@jest/console": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.1.tgz", - "integrity": "sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", "dev": true, "requires": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", "slash": "^3.0.0" } }, "@jest/core": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.1.tgz", - "integrity": "sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", "dev": true, "requires": { - "@jest/console": "^28.1.1", - "@jest/reporters": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.0.2", - "jest-config": "^28.1.1", - "jest-haste-map": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-resolve-dependencies": "^28.1.1", - "jest-runner": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "jest-watcher": "^28.1.1", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", "micromatch": "^4.0.4", - "pretty-format": "^28.1.1", - "rimraf": "^3.0.0", + "pretty-format": "^29.6.2", "slash": "^3.0.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } } }, "@jest/environment": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.1.tgz", - "integrity": "sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", "dev": true, "requires": { - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-mock": "^28.1.1" + "jest-mock": "^29.6.2" } }, "@jest/expect": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.1.tgz", - "integrity": "sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", "dev": true, "requires": { - "expect": "^28.1.1", - "jest-snapshot": "^28.1.1" + "expect": "^29.6.2", + "jest-snapshot": "^29.6.2" } }, "@jest/expect-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.1.tgz", - "integrity": "sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", + "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", "dev": true, "requires": { - "jest-get-type": "^28.0.2" + "jest-get-type": "^29.4.3" } }, "@jest/fake-timers": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.1.tgz", - "integrity": "sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", "dev": true, "requires": { - "@jest/types": "^28.1.1", - "@sinonjs/fake-timers": "^9.1.1", + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^28.1.1", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1" + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" } }, "@jest/globals": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.1.tgz", - "integrity": "sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", "dev": true, "requires": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", - "@jest/types": "^28.1.1" + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" } }, "@jest/reporters": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.1.tgz", - "integrity": "sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", + "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", + "@jest/console": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -7801,90 +8380,89 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", - "jest-worker": "^28.1.1", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.0" + "v8-to-istanbul": "^9.0.1" } }, "@jest/schemas": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz", - "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "requires": { - "@sinclair/typebox": "^0.23.3" + "@sinclair/typebox": "^0.27.8" } }, "@jest/source-map": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz", - "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" } }, "@jest/test-result": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.1.tgz", - "integrity": "sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", "dev": true, "requires": { - "@jest/console": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz", - "integrity": "sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", "dev": true, "requires": { - "@jest/test-result": "^28.1.1", + "@jest/test-result": "^29.6.2", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", + "jest-haste-map": "^29.6.2", "slash": "^3.0.0" } }, "@jest/transform": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.1.tgz", - "integrity": "sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.1", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" + "write-file-atomic": "^4.0.2" } }, "@jest/types": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", - "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", "dev": true, "requires": { - "@jest/schemas": "^28.0.2", + "@jest/schemas": "^29.6.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -7893,372 +8471,330 @@ } }, "@jimp/bmp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", - "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.10.tgz", + "integrity": "sha512-1UXRl1Nw1KptZ1r0ANqtXOst9vGH51dq7keVKQzyyTO2lz4dOaezS9StuSTNh+RmiHg/SVPaFRpPfB0S/ln4Kg==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", + "@jimp/utils": "^0.22.10", "bmp-js": "^0.1.0" } }, "@jimp/core": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", - "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.22.10.tgz", + "integrity": "sha512-ZKyrehVy6wu1PnBXIUpn/fXmyMRQiVSbvHDubgXz4bfTOao3GiOurKHjByutQIgozuAN6ZHWiSge1dKA+dex3w==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", + "@jimp/utils": "^0.22.10", "any-base": "^1.1.0", "buffer": "^5.2.0", "exif-parser": "^0.1.12", - "file-type": "^9.0.0", - "load-bmfont": "^1.3.1", - "mkdirp": "^0.5.1", - "phin": "^2.9.1", + "file-type": "^16.5.4", + "isomorphic-fetch": "^3.0.0", "pixelmatch": "^4.0.2", - "tinycolor2": "^1.4.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - } + "tinycolor2": "^1.6.0" } }, "@jimp/custom": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", - "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.10.tgz", + "integrity": "sha512-sPZkUYe1hu0iIgNisjizxPJqq2vaaKvkCkPoXq2U6UV3ZA1si/WVdrg25da3IcGIEV+83AoHgM8TvqlLgrCJsg==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/core": "^0.16.1" + "@jimp/core": "^0.22.10" } }, "@jimp/gif": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", - "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.22.10.tgz", + "integrity": "sha512-yEX2dSpamvkSx1PPDWGnKeWDrBz0vrCKjVG/cn4Zr68MRRT75tbZIeOrBa+RiUpY3ho5ix7d36LkYvt3qfUIhQ==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "gifwrap": "^0.9.2", + "@jimp/utils": "^0.22.10", + "gifwrap": "^0.10.1", "omggif": "^1.0.9" } }, "@jimp/jpeg": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", - "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.22.10.tgz", + "integrity": "sha512-6bu98pAcVN4DY2oiDLC4TOgieX/lZrLd1tombWZOFCN5PBmqaHQxm7IUmT+Wj4faEvh8QSHgVLSA+2JQQRJWVA==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "jpeg-js": "0.4.2" + "@jimp/utils": "^0.22.10", + "jpeg-js": "^0.4.4" } }, "@jimp/plugin-blit": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", - "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.10.tgz", + "integrity": "sha512-6EI8Sl+mxYHEIy6Yteh6eknD+EZguKpNdr3sCKxNezmLR0+vK99vHcllo6uGSjXXiwtwS67Xqxn8SsoatL+UJQ==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-blur": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", - "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.10.tgz", + "integrity": "sha512-4XRTWuPVdMXJeclJMisXPGizeHtTryVaVV5HnuQXpKqIZtzXReCCpNGH8q/i0kBQOQMXhGWS3mpqOEwtpPePKw==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-circle": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", - "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.22.10.tgz", + "integrity": "sha512-mhcwTO1ywRxiCgtLGge6tDDIDPlX6qkI3CY+BjgGG/XhVHccCddXgOGLdlf+5OuKIEF2Nqs0V01LQEQIJFTmEw==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-color": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", - "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.10.tgz", + "integrity": "sha512-e4t3L7Kedd96E0x1XjsTM6NcgulKUU66HdFTao7Tc9FYJRFSlttARZ/C6LEryGDm/i69R6bJEpo7BkNz0YL55Q==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "tinycolor2": "^1.4.1" + "@jimp/utils": "^0.22.10", + "tinycolor2": "^1.6.0" } }, "@jimp/plugin-contain": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", - "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.22.10.tgz", + "integrity": "sha512-eP8KrzctuEoqibQAxi9WhbnoRosydhiwg+IYya3dKuKDBTrD9UHt+ERlPQ/lTNWHzV/l4S1ntV3r9s9saJgsXA==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-cover": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", - "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.22.10.tgz", + "integrity": "sha512-kJCwL5T1igfa0InCfkE7bBeqg26m46aoRt10ug+rvm11P6RrvRMGrgINFyIKB+mnB7CiyBN/MOula1CvLhSInQ==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-crop": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", - "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.10.tgz", + "integrity": "sha512-BOZ+YGaZlhU7c5ye65RxikicXH0Ki0It6/XHISvipR5WZrfjLjL2Ke20G+AGnwBQc76gKenVcMXVUCnEjtZV+Q==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-displace": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", - "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.22.10.tgz", + "integrity": "sha512-llNiWWMTKISDXt5+cXI0GaFmZWAjlT+4fFLYf4eXquuL/9wZoQsEBhv2GdGd48mkiS8jZq1Nnb2Q4ehEPTvrzw==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-dither": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", - "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.22.10.tgz", + "integrity": "sha512-05WLmeV5M+P/0FS+bWf13hMew2X0oa8w9AtmevL2UyA/5GqiyvP2Xm5WfGQ8oFiiMvpnL6RFomJQOZtWca0C2w==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-fisheye": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", - "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.10.tgz", + "integrity": "sha512-InjiXvc7Gkzrx8VWtU97kDqV7ENnhHGPULymJWeZaF2aicud9Fpk4iCtd/DcZIrk7Cbe60A8RwNXN00HXIbSCg==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-flip": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", - "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.22.10.tgz", + "integrity": "sha512-42GkGtTHWnhnwTMPVK/kXObZbkYIpQWfuIfy5EMEMk6zRj05zpv4vsjkKWfuemweZINwfvD7wDJF7FVFNNcZZg==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-gaussian": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", - "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.10.tgz", + "integrity": "sha512-ykrG/6lTp9Q5YA8jS5XzwMHtRxb9HOFMgtmnrUZ8kU+BK8REecfy9Ic5BUEOjCYvS1a/xLsnrZQU07iiYxBxFg==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-invert": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", - "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.22.10.tgz", + "integrity": "sha512-d8j9BlUJYs/c994t4azUWSWmQq4LLPG4ecm8m6SSNqap+S/HlVQGqjYhJEBbY9EXkOTYB9vBL9bqwSM1Rr6paA==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-mask": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", - "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.22.10.tgz", + "integrity": "sha512-yRBs1230XZkz24uFTdTcSlZ0HXZpIWzM3iFQN56MzZ7USgdVZjPPDCQ8I9RpqfZ36nDflQkUO0wV7ucsi4ogow==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-normalize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", - "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.22.10.tgz", + "integrity": "sha512-Wk9GX6eJMchX/ZAazVa70Fagu+OXMvHiPY+HrcEwcclL+p1wo8xAHEsf9iKno7Ja4EU9lLhbBRY5hYJyiKMEkg==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-print": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", - "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.22.10.tgz", + "integrity": "sha512-1U3VloIR+beE1kWPdGEJMiE2h1Do29iv3w8sBbvPyRP4qXxRFcDpmCGtctsrKmb1krlBFlj8ubyAY90xL+5n9w==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "load-bmfont": "^1.4.0" + "@jimp/utils": "^0.22.10", + "load-bmfont": "^1.4.1" } }, "@jimp/plugin-resize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", - "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.10.tgz", + "integrity": "sha512-ixomxVcnAONXDgaq0opvAx4UAOiEhOA/tipuhFFOvPKFd4yf1BAnEviB5maB0SBHHkJXPUSzDp/73xVTMGSe7g==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-rotate": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", - "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.10.tgz", + "integrity": "sha512-eeFX8dnRyf3LAdsdXWKWuN18hLRg8zy1cP0cP9rHzQVWRK7ck/QsLxK1vHq7MADGwQalNaNTJ9SQxH6c8mz6jw==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-scale": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", - "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.10.tgz", + "integrity": "sha512-TG/H0oUN69C9ArBCZg4PmuoixFVKIiru8282KzSB/Tp1I0xwX0XLTv3dJ5pobPlIgPcB+TmD4xAIdkCT4rtWxg==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-shadow": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", - "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.22.10.tgz", + "integrity": "sha512-TN9xm6fI7XfxbMUQqFPZjv59Xdpf0tSiAQdINB4g6pJMWiVANR/74OtDONoy3KKpenu5Y38s+FkrtID/KcQAhw==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugin-threshold": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", - "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.22.10.tgz", + "integrity": "sha512-DA2lSnU0TgIRbAgmXaxroYw3Ad6J2DOFEoJp0NleSm2h3GWbZEE5yW9U2B6hD3iqn4AenG4E2b2WzHXZyzSutw==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" + "@jimp/utils": "^0.22.10" } }, "@jimp/plugins": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", - "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/plugin-blit": "^0.16.1", - "@jimp/plugin-blur": "^0.16.1", - "@jimp/plugin-circle": "^0.16.1", - "@jimp/plugin-color": "^0.16.1", - "@jimp/plugin-contain": "^0.16.1", - "@jimp/plugin-cover": "^0.16.1", - "@jimp/plugin-crop": "^0.16.1", - "@jimp/plugin-displace": "^0.16.1", - "@jimp/plugin-dither": "^0.16.1", - "@jimp/plugin-fisheye": "^0.16.1", - "@jimp/plugin-flip": "^0.16.1", - "@jimp/plugin-gaussian": "^0.16.1", - "@jimp/plugin-invert": "^0.16.1", - "@jimp/plugin-mask": "^0.16.1", - "@jimp/plugin-normalize": "^0.16.1", - "@jimp/plugin-print": "^0.16.1", - "@jimp/plugin-resize": "^0.16.1", - "@jimp/plugin-rotate": "^0.16.1", - "@jimp/plugin-scale": "^0.16.1", - "@jimp/plugin-shadow": "^0.16.1", - "@jimp/plugin-threshold": "^0.16.1", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.22.10.tgz", + "integrity": "sha512-KDMZyM6pmvS8freB+UBLko1TO/k4D7URS/nphCozuH+P7i3UMe7NdckXKJ8u+WD6sqN0YFYvBehpkpnUiw/91w==", + "requires": { + "@jimp/plugin-blit": "^0.22.10", + "@jimp/plugin-blur": "^0.22.10", + "@jimp/plugin-circle": "^0.22.10", + "@jimp/plugin-color": "^0.22.10", + "@jimp/plugin-contain": "^0.22.10", + "@jimp/plugin-cover": "^0.22.10", + "@jimp/plugin-crop": "^0.22.10", + "@jimp/plugin-displace": "^0.22.10", + "@jimp/plugin-dither": "^0.22.10", + "@jimp/plugin-fisheye": "^0.22.10", + "@jimp/plugin-flip": "^0.22.10", + "@jimp/plugin-gaussian": "^0.22.10", + "@jimp/plugin-invert": "^0.22.10", + "@jimp/plugin-mask": "^0.22.10", + "@jimp/plugin-normalize": "^0.22.10", + "@jimp/plugin-print": "^0.22.10", + "@jimp/plugin-resize": "^0.22.10", + "@jimp/plugin-rotate": "^0.22.10", + "@jimp/plugin-scale": "^0.22.10", + "@jimp/plugin-shadow": "^0.22.10", + "@jimp/plugin-threshold": "^0.22.10", "timm": "^1.6.1" } }, "@jimp/png": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", - "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.22.10.tgz", + "integrity": "sha512-RYinU7tZToeeR2g2qAMn42AU+8OUHjXPKZZ9RkmoL4bguA1xyZWaSdr22/FBkmnHhOERRlr02KPDN1OTOYHLDQ==", "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "pngjs": "^3.3.3" + "@jimp/utils": "^0.22.10", + "pngjs": "^6.0.0" } }, "@jimp/tiff": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", - "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.22.10.tgz", + "integrity": "sha512-OaivlSYzpNTHyH/h7pEtl3A7F7TbsgytZs52GLX/xITW92ffgDgT6PkldIrMrET6ERh/hdijNQiew7IoEEr2og==", "requires": { - "@babel/runtime": "^7.7.2", - "utif": "^2.0.1" + "utif2": "^4.0.1" } }, "@jimp/types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", - "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/bmp": "^0.16.1", - "@jimp/gif": "^0.16.1", - "@jimp/jpeg": "^0.16.1", - "@jimp/png": "^0.16.1", - "@jimp/tiff": "^0.16.1", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.22.10.tgz", + "integrity": "sha512-u/r+XYzbCx4zZukDmxx8S0er3Yq3iDPI6+31WKX0N18i2qPPJYcn8qwIFurfupRumGvJ8SlGLCgt/T+Y8zzUIw==", + "requires": { + "@jimp/bmp": "^0.22.10", + "@jimp/gif": "^0.22.10", + "@jimp/jpeg": "^0.22.10", + "@jimp/png": "^0.22.10", + "@jimp/tiff": "^0.22.10", "timm": "^1.6.1" } }, "@jimp/utils": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", - "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.10.tgz", + "integrity": "sha512-ztlOK9Mm2iLG2AMoabzM4i3WZ/FtshcgsJCbZCRUs/DKoeS2tySRJTnQZ1b7Roq0M4Ce+FUAxnCAcBV0q7PH9w==", "requires": { - "@babel/runtime": "^7.7.2", "regenerator-runtime": "^0.13.3" } }, "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, "@jridgewell/set-array": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", - "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "@nodelib/fs.scandir": { @@ -8288,37 +8824,66 @@ } }, "@sinclair/typebox": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz", - "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==", + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "requires": { "type-detect": "4.0.8" } }, "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "requires": { - "@sinonjs/commons": "^1.7.0" + "@sinonjs/commons": "^3.0.0" } }, + "@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" @@ -8344,18 +8909,18 @@ } }, "@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, "requires": { - "@babel/types": "^7.3.0" + "@babel/types": "^7.20.7" } }, "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, "requires": { "@types/node": "*" @@ -8386,19 +8951,19 @@ } }, "@types/jest": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.2.tgz", - "integrity": "sha512-5dNM7mMuIrCtNJsFfvUO/5xCrG8swuT2c7ND+sl3XwlwxJf3k7e7o+PRvcFN/iIm8XhCqHqxLOj9yutDDOJoRg==", + "version": "29.5.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", + "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", "dev": true, "requires": { - "jest-matcher-utils": "^28.0.0", - "pretty-format": "^28.0.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "@types/json5": { @@ -8412,10 +8977,10 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" }, - "@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", "dev": true }, "@types/stack-utils": { @@ -8452,92 +9017,108 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", - "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.33.0", - "@typescript-eslint/scope-manager": "4.33.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.1.0", - "semver": "^7.3.5", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", "tsutils": "^3.21.0" } }, - "@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", - "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "requires": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" } }, - "@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, - "@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", "tsutils": "^3.21.0" } }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, "@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" } }, "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true }, "acorn-jsx": { @@ -8547,6 +9128,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -8559,12 +9146,6 @@ "uri-js": "^4.2.2" } }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -8572,14 +9153,6 @@ "dev": true, "requires": { "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } } }, "ansi-regex": { @@ -8627,16 +9200,26 @@ "sprintf-js": "~1.0.2" } }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, "array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", "is-string": "^1.0.7" } }, @@ -8646,46 +9229,86 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, + "array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, "array.prototype.flat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", - "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", "es-shim-unscopables": "^1.0.0" } }, "array.prototype.flatmap": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", - "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", "es-shim-unscopables": "^1.0.0" } }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, "babel-jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.1.tgz", - "integrity": "sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", "dev": true, "requires": { - "@jest/transform": "^28.1.1", + "@jest/transform": "^29.6.2", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.1", + "babel-preset-jest": "^29.5.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -8705,9 +9328,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz", - "integrity": "sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -8737,12 +9360,12 @@ } }, "babel-preset-jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz", - "integrity": "sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^28.1.1", + "babel-plugin-jest-hoist": "^29.5.0", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -8788,16 +9411,15 @@ } }, "browserslist": { - "version": "4.20.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz", - "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==", + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001349", - "electron-to-chromium": "^1.4.147", - "escalade": "^3.1.1", - "node-releases": "^2.0.5", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" } }, "bs-logger": { @@ -8838,6 +9460,15 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "requires": { + "semver": "^7.0.0" + } + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -8861,9 +9492,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001356", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001356.tgz", - "integrity": "sha512-/30854bktMLhxtjieIxsrJBfs2gTM1pel6MXKF3K+RdIVJZcsn2A2QdhsuR4/p9+R204fZw0zCBBhktX8xWuyQ==", + "version": "1.0.30001519", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", + "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", "dev": true }, "chalk": { @@ -8905,19 +9536,19 @@ "dev": true }, "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "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==", "dev": true, "requires": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, @@ -8928,9 +9559,9 @@ "dev": true }, "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, "color-convert": { @@ -8955,13 +9586,10 @@ "dev": true }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "create-require": { "version": "1.1.1", @@ -8990,10 +9618,11 @@ } }, "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "requires": {} }, "deep-is": { "version": "0.1.4", @@ -9002,15 +9631,15 @@ "dev": true }, "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "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==", "dev": true }, "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "requires": { "has-property-descriptors": "^1.0.0", @@ -9030,9 +9659,9 @@ "dev": true }, "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true }, "dir-glob": { @@ -9068,15 +9697,15 @@ } }, "electron-to-chromium": { - "version": "1.4.161", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.161.tgz", - "integrity": "sha512-sTjBRhqh6wFodzZtc5Iu8/R95OkwaPNn7tj/TaDU5nu/5EFiQDtADGAXdR4tJcTEHlYfJpHqigzJqHvPgehP8A==", + "version": "1.4.482", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz", + "integrity": "sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==", "dev": true }, "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true }, "emoji-regex": { @@ -9085,15 +9714,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -9104,34 +9724,61 @@ } }, "es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", + "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", "has": "^1.0.3", "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" } }, "es-shim-unscopables": { @@ -9161,122 +9808,159 @@ "dev": true }, "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true }, "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "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", - "js-yaml": "^3.13.1", + "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.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } } } }, "eslint-config-standard": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", - "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", "dev": true, "requires": {} }, "eslint-config-standard-jsx": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz", - "integrity": "sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", + "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", "dev": true, "requires": {} }, "eslint-config-standard-with-typescript": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-21.0.1.tgz", - "integrity": "sha512-FeiMHljEJ346Y0I/HpAymNKdrgKEpHpcg/D93FvPHWfCzbT4QyUJba/0FwntZeGLXfUiWDSeKmdJD597d9wwiw==", + "version": "23.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-23.0.0.tgz", + "integrity": "sha512-iaaWifImn37Z1OXbNW1es7KI+S7D408F9ys0bpaQf2temeBWlvb0Nc5qHkOgYaRb5QxTZT32GGeN1gtswASOXA==", "dev": true, "requires": { - "@typescript-eslint/parser": "^4.0.0", - "eslint-config-standard": "^16.0.0" + "@typescript-eslint/parser": "^5.0.0", + "eslint-config-standard": "17.0.0" } }, "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dev": true, "requires": { "debug": "^3.2.7", - "resolve": "^1.20.0" + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" }, "dependencies": { "debug": { @@ -9287,17 +9971,27 @@ "requires": { "ms": "^2.1.1" } + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } } } }, "eslint-module-utils": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", - "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "requires": { - "debug": "^3.2.7", - "find-up": "^2.1.0" + "debug": "^3.2.7" }, "dependencies": { "debug": { @@ -9312,9 +10006,9 @@ } }, "eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", "dev": true, "requires": { "eslint-utils": "^2.0.0", @@ -9339,33 +10033,38 @@ } }, "eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", + "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", "dev": true, "requires": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", "has": "^1.0.3", - "is-core-module": "^2.8.1", + "is-core-module": "^2.12.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "resolve": "^1.22.3", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "doctrine": { @@ -9377,78 +10076,82 @@ "esutils": "^2.0.2" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "resolve": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", + "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", + "dev": true, + "requires": { + "is-core-module": "^2.12.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, - "eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "eslint-plugin-n": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", + "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", "dev": true, "requires": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" }, "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true } } }, "eslint-plugin-promise": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", - "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, "requires": {} }, "eslint-plugin-react": { - "version": "7.29.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz", - "integrity": "sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==", + "version": "7.33.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", + "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", "dev": true, "requires": { - "array-includes": "^3.1.4", - "array.prototype.flatmap": "^1.2.5", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", "doctrine": "^2.1.0", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.0", - "object.values": "^1.1.5", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.6" + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" }, "dependencies": { "doctrine": { @@ -9461,19 +10164,20 @@ } }, "resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -9503,31 +10207,31 @@ "dev": true, "requires": { "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } } }, "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", "dev": true }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" } }, "esprima": { @@ -9537,9 +10241,9 @@ "dev": true }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -9586,7 +10290,7 @@ "exif-parser": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" + "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" }, "exit": { "version": "0.1.2", @@ -9595,16 +10299,17 @@ "dev": true }, "expect": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.1.tgz", - "integrity": "sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", "dev": true, "requires": { - "@jest/expect-utils": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1" + "@jest/expect-utils": "^29.6.2", + "@types/node": "*", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2" } }, "fast-deep-equal": { @@ -9614,9 +10319,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -9635,22 +10340,22 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "requires": { "reusify": "^1.0.4" } }, "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "requires": { "bser": "2.1.1" @@ -9666,9 +10371,14 @@ } }, "file-type": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", - "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" + "version": "16.5.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", + "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", + "requires": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + } }, "fill-range": { "version": "7.0.1", @@ -9680,12 +10390,13 @@ } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "flat-cache": { @@ -9710,11 +10421,20 @@ } }, "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -9746,12 +10466,6 @@ "functions-have-names": "^1.2.2" } }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, "functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -9771,14 +10485,15 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" } }, "get-package-type": { @@ -9810,9 +10525,9 @@ } }, "gifwrap": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.4.tgz", - "integrity": "sha512-MDMwbhASQuVeD4JKd1fKgNgCRL3fGqMM4WaqpNhWO0JiMOAjbQdumbs4BbBZEy9/M00EHEjKN3HieVhCUlwjeQ==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz", + "integrity": "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==", "requires": { "image-q": "^4.0.0", "omggif": "^1.0.10" @@ -9851,12 +10566,29 @@ } }, "globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "requires": { "type-fest": "^0.20.2" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" } }, "globby": { @@ -9873,12 +10605,27 @@ "slash": "^3.0.0" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -9909,6 +10656,12 @@ "get-intrinsic": "^1.1.1" } }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -9942,9 +10695,9 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "image-q": { @@ -9963,6 +10716,14 @@ "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } } }, "import-local": { @@ -9994,24 +10755,34 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "requires": { - "get-intrinsic": "^1.1.0", + "get-intrinsic": "^1.2.0", "has": "^1.0.3", "side-channel": "^1.0.4" } }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "is-bigint": { @@ -10043,15 +10814,15 @@ } }, "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "requires": { "has": "^1.0.3" @@ -10119,6 +10890,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -10162,6 +10939,15 @@ "has-symbols": "^1.0.2" } }, + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.11" + } + }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -10171,12 +10957,27 @@ "call-bind": "^1.0.2" } }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "requires": { + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" + } + }, "istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -10184,9 +10985,9 @@ "dev": true }, "istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "requires": { "@babel/core": "^7.12.3", @@ -10197,21 +10998,21 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" } }, @@ -10227,9 +11028,9 @@ } }, "istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -10237,116 +11038,105 @@ } }, "jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.1.tgz", - "integrity": "sha512-qw9YHBnjt6TCbIDMPMpJZqf9E12rh6869iZaN08/vpOGgHJSAaLLUn6H8W3IAEuy34Ls3rct064mZLETkxJ2XA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", + "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", "dev": true, "requires": { - "@jest/core": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/core": "^29.6.2", + "@jest/types": "^29.6.1", "import-local": "^3.0.2", - "jest-cli": "^28.1.1" + "jest-cli": "^29.6.2" } }, "jest-changed-files": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz", - "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", "dev": true, "requires": { "execa": "^5.0.0", - "throat": "^6.0.1" + "p-limit": "^3.1.0" } }, "jest-circus": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.1.tgz", - "integrity": "sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", "dev": true, "requires": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "dedent": "^0.7.0", + "dedent": "^1.0.0", "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.1", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "pretty-format": "^28.1.1", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" + "stack-utils": "^2.0.3" } }, "jest-cli": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.1.tgz", - "integrity": "sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", + "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", "dev": true, "requires": { - "@jest/core": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/core": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", + "jest-config": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", "prompts": "^2.0.1", "yargs": "^17.3.1" } }, "jest-config": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.1.tgz", - "integrity": "sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.1", - "@jest/types": "^28.1.1", - "babel-jest": "^28.1.1", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.1", - "jest-environment-node": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-runner": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^28.1.1", + "pretty-format": "^29.6.2", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "dependencies": { - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -10356,246 +11146,224 @@ } }, "jest-diff": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", - "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" } }, "jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.1.tgz", - "integrity": "sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", "dev": true, "requires": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.1", - "pretty-format": "^28.1.1" + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" } }, "jest-environment-node": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.1.tgz", - "integrity": "sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", "dev": true, "requires": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1" + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" } }, "jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", "dev": true }, "jest-haste-map": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.1.tgz", - "integrity": "sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", "dev": true, "requires": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.1", - "jest-worker": "^28.1.1", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", "micromatch": "^4.0.4", "walker": "^1.0.8" } }, "jest-leak-detector": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz", - "integrity": "sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", "dev": true, "requires": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" } }, "jest-matcher-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", - "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" } }, "jest-message-util": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.1.tgz", - "integrity": "sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.1", + "pretty-format": "^29.6.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.7" - } - } } }, "jest-mock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.1.tgz", - "integrity": "sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", "dev": true, "requires": { - "@jest/types": "^28.1.1", - "@types/node": "*" + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" } }, "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "requires": {} }, "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", "dev": true }, "jest-resolve": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.1.tgz", - "integrity": "sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", + "jest-haste-map": "^29.6.2", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", + "resolve.exports": "^2.0.0", "slash": "^3.0.0" } }, "jest-resolve-dependencies": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz", - "integrity": "sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", + "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", "dev": true, "requires": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.1" + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.6.2" } }, "jest-runner": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.1.tgz", - "integrity": "sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", "dev": true, "requires": { - "@jest/console": "^28.1.1", - "@jest/environment": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.10.2", + "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.1", - "jest-haste-map": "^28.1.1", - "jest-leak-detector": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-resolve": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-util": "^28.1.1", - "jest-watcher": "^28.1.1", - "jest-worker": "^28.1.1", - "source-map-support": "0.5.13", - "throat": "^6.0.1" - }, - "dependencies": { - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" } }, "jest-runtime": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.1.tgz", - "integrity": "sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/globals": "^28.1.1", - "@jest/source-map": "^28.0.2", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-mock": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -10609,43 +11377,40 @@ } }, "jest-snapshot": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.1.tgz", - "integrity": "sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", "dev": true, "requires": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^28.1.1", + "expect": "^29.6.2", "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.1", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", "natural-compare": "^1.4.0", - "pretty-format": "^28.1.1", - "semver": "^7.3.5" + "pretty-format": "^29.6.2", + "semver": "^7.5.3" } }, "jest-util": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.1.tgz", - "integrity": "sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", "dev": true, "requires": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -10654,17 +11419,17 @@ } }, "jest-validate": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.1.tgz", - "integrity": "sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", "dev": true, "requires": { - "@jest/types": "^28.1.1", + "@jest/types": "^29.6.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", + "jest-get-type": "^29.4.3", "leven": "^3.1.0", - "pretty-format": "^28.1.1" + "pretty-format": "^29.6.2" }, "dependencies": { "camelcase": { @@ -10676,28 +11441,29 @@ } }, "jest-watcher": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.1.tgz", - "integrity": "sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", "dev": true, "requires": { - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.1", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", "string-length": "^4.0.1" } }, "jest-worker": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz", - "integrity": "sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", "dev": true, "requires": { "@types/node": "*", + "jest-util": "^29.6.2", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -10714,21 +11480,20 @@ } }, "jimp": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.0.tgz", - "integrity": "sha512-WRfGlXB6/0xY3mSoskfVhWVNSegVZCgmvunJDc41QthTWi5oRG2FeL7eOcX0zz/Z+dYRu6Q0ibO2yltC+EIptA==", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.16.0", - "@jimp/plugins": "^0.16.0", - "@jimp/types": "^0.16.0", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.22.10.tgz", + "integrity": "sha512-lCaHIJAgTOsplyJzC1w/laxSxrbSsEBw4byKwXgUdMmh+ayPsnidTblenQm+IvhIs44Gcuvlb6pd2LQ0wcKaKg==", + "requires": { + "@jimp/custom": "^0.22.10", + "@jimp/plugins": "^0.22.10", + "@jimp/types": "^0.22.10", "regenerator-runtime": "^0.13.3" } }, "jpeg-js": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", - "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", + "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==" }, "js-tokens": { "version": "4.0.0", @@ -10773,26 +11538,28 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" } }, "jsx-ast-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz", - "integrity": "sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, "requires": { - "array-includes": "^3.1.4", - "object.assign": "^4.1.2" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" } }, "kleur": { @@ -10839,34 +11606,18 @@ } }, "load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "dependencies": { - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true - } - } + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-7.0.1.tgz", + "integrity": "sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==", + "dev": true }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" } }, "lodash.memoize": { @@ -10881,12 +11632,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -10906,20 +11651,12 @@ } }, "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "semver": "^7.5.3" } }, "make-error": { @@ -10973,7 +11710,7 @@ "min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", "requires": { "dom-walk": "^0.1.0" } @@ -10990,7 +11727,8 @@ "minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true }, "mkdirp": { "version": "1.0.4", @@ -11007,9 +11745,23 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -11017,9 +11769,9 @@ "dev": true }, "node-releases": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", - "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "dev": true }, "normalize-path": { @@ -11040,13 +11792,13 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, "object-keys": { @@ -11056,58 +11808,70 @@ "dev": true }, "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" } }, "object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" } }, "object.hasown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", - "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", "dev": true, "requires": { "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" } }, "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "omggif": { @@ -11134,41 +11898,52 @@ } }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { + "@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", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "p-try": "^1.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "pako": { @@ -11188,12 +11963,12 @@ "parse-bmfont-ascii": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", - "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" + "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==" }, "parse-bmfont-binary": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", - "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" + "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==" }, "parse-bmfont-xml": { "version": "1.1.4", @@ -11210,19 +11985,21 @@ "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" }, "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { + "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { @@ -11249,6 +12026,11 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "peek-readable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", + "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==" + }, "phin": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", @@ -11273,70 +12055,83 @@ "dev": true }, "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true }, "pixelmatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", - "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", "requires": { "pngjs": "^3.0.0" + }, + "dependencies": { + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + } } }, "pkg-conf": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", - "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-4.0.0.tgz", + "integrity": "sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==", "dev": true, "requires": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" + "find-up": "^6.0.0", + "load-json-file": "^7.0.0" }, "dependencies": { "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^6.0.0" } }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^1.0.0" } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^4.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true } } @@ -11348,63 +12143,12 @@ "dev": true, "requires": { "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } } }, "pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==" }, "prelude-ls": { "version": "1.2.1", @@ -11413,13 +12157,12 @@ "dev": true }, "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.6.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -11429,25 +12172,13 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true } } }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, "prompts": { "version": "2.4.2", @@ -11468,12 +12199,26 @@ "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } } }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true }, "queue-microtask": { @@ -11483,11 +12228,29 @@ "dev": true }, "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "requires": { + "readable-stream": "^3.6.0" + } + }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -11498,19 +12261,19 @@ } }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" } }, "regexpp": { @@ -11525,12 +12288,6 @@ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, "resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -11549,26 +12306,18 @@ "dev": true, "requires": { "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } } }, "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, "resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true }, "reusify": { @@ -11595,11 +12344,28 @@ "queue-microtask": "^1.2.2" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } }, "sax": { "version": "1.2.4", @@ -11607,9 +12373,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -11659,17 +12425,6 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -11677,9 +12432,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -11689,36 +12444,127 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } } }, "standard-engine": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-14.0.1.tgz", - "integrity": "sha512-7FEzDwmHDOGva7r9ifOzD3BGdTbA7ujJ50afLVdW/tK14zQEptJjbFuUfn50irqdHDcTbNh0DTIoMPynMCXb0Q==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", + "integrity": "sha512-VHysfoyxFu/ukT+9v49d4BRXIokFRZuH3z1VRxzFArZdjSCFpro6rEIU3ji7e4AoAtuSfKBkiOmsrDqKW5ZSRw==", "dev": true, "requires": { "get-stdin": "^8.0.0", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "pkg-conf": "^3.1.0", "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pkg-conf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", + "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "load-json-file": "^5.2.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true + } + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } } }, "string-length": { @@ -11743,41 +12589,52 @@ } }, "string.prototype.matchall": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", - "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.1", + "regexp.prototype.flags": "^1.4.3", "side-channel": "^1.0.4" } }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, "string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" } }, "string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" } }, "strip-ansi": { @@ -11807,6 +12664,15 @@ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, + "strtok3": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", + "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", + "requires": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^4.1.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11816,65 +12682,12 @@ "has-flag": "^4.0.0" } }, - "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, - "table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -11889,13 +12702,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "timm": { @@ -11904,9 +12711,9 @@ "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" }, "tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" }, "tmpl": { "version": "1.0.5", @@ -11929,6 +12736,20 @@ "is-number": "^7.0.0" } }, + "token-types": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", + "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", + "requires": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -11936,80 +12757,86 @@ "dev": true }, "ts-jest": { - "version": "28.0.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.5.tgz", - "integrity": "sha512-Sx9FyP9pCY7pUzQpy4FgRZf2bhHY3za576HMKJFs+OnQ9jS96Du5vNsDKkyedQkik+sEabbKAnCliv9BEsHZgQ==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, "requires": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", - "jest-util": "^28.0.0", - "json5": "^2.2.1", + "jest-util": "^29.0.0", + "json5": "^2.2.3", "lodash.memoize": "4.x", "make-error": "1.x", - "semver": "7.x", + "semver": "^7.5.3", "yargs-parser": "^21.0.1" }, "dependencies": { "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true } } }, "ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "dev": true, - "requires": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@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", - "source-map-support": "^0.5.17", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" } }, "ts-node-dev": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-1.1.8.tgz", - "integrity": "sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz", + "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==", "dev": true, "requires": { "chokidar": "^3.5.1", "dynamic-dedupe": "^0.3.0", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "mkdirp": "^1.0.4", "resolve": "^1.0.0", "rimraf": "^2.6.1", "source-map-support": "^0.5.12", "tree-kill": "^1.2.2", - "ts-node": "^9.0.0", + "ts-node": "^10.4.0", "tsconfig": "^7.0.0" } }, "ts-standard": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/ts-standard/-/ts-standard-11.0.0.tgz", - "integrity": "sha512-fe+PCOM6JTMIcG1Smr8BQJztUi3dc/SDJMqezxNAL8pe/0+h0shK0+fNPTuF1hMVMYO+O53Wtp9WQHqj0GJtMw==", - "dev": true, - "requires": { - "@typescript-eslint/eslint-plugin": "^4.26.1", - "eslint": "^7.28.0", - "eslint-config-standard": "^16.0.3", - "eslint-config-standard-jsx": "^10.0.0", - "eslint-config-standard-with-typescript": "^21.0.1", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-react": "^7.24.0", - "get-stdin": "^8.0.0", - "minimist": "^1.2.5", - "pkg-conf": "^3.1.0", - "standard-engine": "^14.0.1" + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/ts-standard/-/ts-standard-12.0.2.tgz", + "integrity": "sha512-XX2wrB9fKKTfBj4yD3ABm9iShzZcS2iWcPK8XzlBvuL20+wMiLgiz/k5tXgZwTaYq5wRhbks1Y9PelhujF/9ag==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^8.0.1", + "eslint-config-standard-jsx": "^11.0.0", + "eslint-config-standard-with-typescript": "^23.0.0", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0", + "eslint-plugin-react": "^7.28.0", + "minimist": "^1.2.6", + "pkg-conf": "^4.0.0", + "standard-engine": "^15.0.0" } }, "tsconfig": { @@ -12025,13 +12852,13 @@ } }, "tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, "requires": { "@types/json5": "^0.0.29", - "json5": "^1.0.1", + "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } @@ -12067,15 +12894,62 @@ "dev": true }, "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", "dev": true }, "unbox-primitive": { @@ -12090,6 +12964,16 @@ "which-boxed-primitive": "^1.0.2" } }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -12099,29 +12983,42 @@ "punycode": "^2.1.0" } }, - "utif": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", - "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "utif2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/utif2/-/utif2-4.1.0.tgz", + "integrity": "sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==", "requires": { - "pako": "^1.0.5" + "pako": "^1.0.11" } }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, "v8-to-istanbul": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", - "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + } } }, "walker": { @@ -12133,6 +13030,25 @@ "makeerror": "1.0.12" } }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-fetch": { + "version": "3.6.17", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", + "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -12155,11 +13071,18 @@ "is-symbol": "^1.0.3" } }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } }, "wrap-ansi": { "version": "7.0.0", @@ -12179,9 +13102,9 @@ "dev": true }, "write-file-atomic": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -12208,7 +13131,7 @@ "xml-parse-from-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", - "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" + "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==" }, "xml2js": { "version": "0.4.23", @@ -12242,24 +13165,24 @@ "dev": true }, "yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "requires": { - "cliui": "^7.0.2", + "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.0.0" + "yargs-parser": "^21.1.1" } }, "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true }, "yn": { @@ -12267,6 +13190,12 @@ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json old mode 100644 new mode 100755 index 8fc558a..8df7eae --- a/package.json +++ b/package.json @@ -1,38 +1,43 @@ { "name": "splitea", "version": "1.0.0", - "description": "Splitea is a utility to spli images in different sizes", - "main": "lib/index.js", - "scripts": { - "start": "node lib/index.js", - "dev": "ts-node-dev src/index.ts", - "test": "jest", - "lint": "ts-standard", - "lint-fix": "ts-standard --fix", - "tsc": "tsc" - }, + "description": "Splitea is a utility to split images in different sizes", + "author": "Cristóbal Contreras Rubio", + "license": "MIT", + "homepage": "https://github.com/crisconru/splitea#readme", "repository": { "type": "git", "url": "git+https://github.com/crisconru/splitea.git" }, + "bugs": { + "url": "https://github.com/crisconru/splitea/issues" + }, "keywords": [ "split", "image", "typescript" ], - "author": "Cristóbal Contreras Rubio", - "license": "MIT", - "bugs": { - "url": "https://github.com/crisconru/splitea/issues" + "main": "lib/index.js", + "private": true, + "scripts": { + "start": "node lib/index.js", + "dev": "ts-node-dev src/index.ts", + "test": "jest", + "test:coverage": "jest --coverage", + "lint": "ts-standard", + "lint-fix": "ts-standard --fix", + "build": "tsc" + }, + "dependencies": { + "jimp": "^0.22.10" }, - "homepage": "https://github.com/crisconru/splitea#readme", "devDependencies": { - "@types/jest": "^28.1.2", - "jest": "^28.1.1", - "ts-jest": "^28.0.5", - "ts-node-dev": "1.1.8", - "ts-standard": "11.0.0", - "typescript": "4.6.4" + "@types/jest": "^29.5.3", + "jest": "^29.6.2", + "ts-jest": "^29.1.1", + "ts-node-dev": "^2.0.0", + "ts-standard": "^12.0.2", + "typescript": "^5.1.6" }, "eslintConfig": { "parserOptions": { @@ -41,8 +46,5 @@ "extends": [ "./node_modules/ts-standard/eslintrc.json" ] - }, - "dependencies": { - "jimp": "^0.16.0" } } From e3b9b2ceb3593d5969ff5f4d074de0231e196250 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 3 Aug 2023 20:03:04 +0200 Subject: [PATCH 11/64] changing jest for vitest --- jest.config.js | 5 - package-lock.json | 10206 +++++++++++++++----------------------------- package.json | 6 +- 3 files changed, 3393 insertions(+), 6824 deletions(-) delete mode 100644 jest.config.js diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 27e8bff..0000000 --- a/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node' -} diff --git a/package-lock.json b/package-lock.json index f3555c4..beabb2c 100755 --- a/package-lock.json +++ b/package-lock.json @@ -12,12 +12,10 @@ "jimp": "^0.22.10" }, "devDependencies": { - "@types/jest": "^29.5.3", - "jest": "^29.6.2", - "ts-jest": "^29.1.1", "ts-node-dev": "^2.0.0", "ts-standard": "^12.0.2", - "typescript": "^5.1.6" + "typescript": "^5.1.6", + "vitest": "^0.34.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -29,4011 +27,2559 @@ "node": ">=0.10.0" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "node_modules/@esbuild/android-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", + "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "cpu": [ + "arm" + ], "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "node_modules/@esbuild/android-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", + "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=12" } }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/@esbuild/android-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", + "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "cpu": [ + "x64" + ], "dev": true, - "bin": { - "json5": "lib/cli.js" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node": ">=12" } }, - "node_modules/@babel/generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", - "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", + "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", + "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", + "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "yallist": "^3.0.2" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", + "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "cpu": [ + "x64" + ], "dev": true, - "bin": { - "semver": "bin/semver.js" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "node_modules/@esbuild/linux-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", + "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "cpu": [ + "arm" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", + "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", + "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", + "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", + "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", + "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", + "cpu": [ + "ppc64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", + "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", + "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "node_modules/@esbuild/linux-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", + "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", + "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", + "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", + "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", + "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", + "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@esbuild/win32-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", + "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, + "eslint-visitor-keys": "^3.3.0" + }, "engines": { - "node": ">=0.8.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", "dev": true, "engines": { - "node": ">=4" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@eslint/eslintrc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "engines": { - "node": ">=6.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "argparse": "^2.0.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": { + "node": ">=8" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@eslint/js": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=10.10.0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": { + "node": ">=12.22" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jimp/bmp": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.10.tgz", + "integrity": "sha512-1UXRl1Nw1KptZ1r0ANqtXOst9vGH51dq7keVKQzyyTO2lz4dOaezS9StuSTNh+RmiHg/SVPaFRpPfB0S/ln4Kg==", + "dependencies": { + "@jimp/utils": "^0.22.10", + "bmp-js": "^0.1.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, + "node_modules/@jimp/core": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.22.10.tgz", + "integrity": "sha512-ZKyrehVy6wu1PnBXIUpn/fXmyMRQiVSbvHDubgXz4bfTOao3GiOurKHjByutQIgozuAN6ZHWiSge1dKA+dex3w==", + "dependencies": { + "@jimp/utils": "^0.22.10", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "exif-parser": "^0.1.12", + "file-type": "^16.5.4", + "isomorphic-fetch": "^3.0.0", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.6.0" + } + }, + "node_modules/@jimp/custom": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.10.tgz", + "integrity": "sha512-sPZkUYe1hu0iIgNisjizxPJqq2vaaKvkCkPoXq2U6UV3ZA1si/WVdrg25da3IcGIEV+83AoHgM8TvqlLgrCJsg==", + "dependencies": { + "@jimp/core": "^0.22.10" + } + }, + "node_modules/@jimp/gif": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.22.10.tgz", + "integrity": "sha512-yEX2dSpamvkSx1PPDWGnKeWDrBz0vrCKjVG/cn4Zr68MRRT75tbZIeOrBa+RiUpY3ho5ix7d36LkYvt3qfUIhQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@jimp/utils": "^0.22.10", + "gifwrap": "^0.10.1", + "omggif": "^1.0.9" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, + "node_modules/@jimp/jpeg": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.22.10.tgz", + "integrity": "sha512-6bu98pAcVN4DY2oiDLC4TOgieX/lZrLd1tombWZOFCN5PBmqaHQxm7IUmT+Wj4faEvh8QSHgVLSA+2JQQRJWVA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@jimp/utils": "^0.22.10", + "jpeg-js": "^0.4.4" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, + "node_modules/@jimp/plugin-blit": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.10.tgz", + "integrity": "sha512-6EI8Sl+mxYHEIy6Yteh6eknD+EZguKpNdr3sCKxNezmLR0+vK99vHcllo6uGSjXXiwtwS67Xqxn8SsoatL+UJQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, + "node_modules/@jimp/plugin-blur": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.10.tgz", + "integrity": "sha512-4XRTWuPVdMXJeclJMisXPGizeHtTryVaVV5HnuQXpKqIZtzXReCCpNGH8q/i0kBQOQMXhGWS3mpqOEwtpPePKw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, + "node_modules/@jimp/plugin-circle": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.22.10.tgz", + "integrity": "sha512-mhcwTO1ywRxiCgtLGge6tDDIDPlX6qkI3CY+BjgGG/XhVHccCddXgOGLdlf+5OuKIEF2Nqs0V01LQEQIJFTmEw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, + "node_modules/@jimp/plugin-color": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.10.tgz", + "integrity": "sha512-e4t3L7Kedd96E0x1XjsTM6NcgulKUU66HdFTao7Tc9FYJRFSlttARZ/C6LEryGDm/i69R6bJEpo7BkNz0YL55Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@jimp/utils": "^0.22.10", + "tinycolor2": "^1.6.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, + "node_modules/@jimp/plugin-contain": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.22.10.tgz", + "integrity": "sha512-eP8KrzctuEoqibQAxi9WhbnoRosydhiwg+IYya3dKuKDBTrD9UHt+ERlPQ/lTNWHzV/l4S1ntV3r9s9saJgsXA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dev": true, + "node_modules/@jimp/plugin-cover": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.22.10.tgz", + "integrity": "sha512-kJCwL5T1igfa0InCfkE7bBeqg26m46aoRt10ug+rvm11P6RrvRMGrgINFyIKB+mnB7CiyBN/MOula1CvLhSInQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" } }, - "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, + "node_modules/@jimp/plugin-crop": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.10.tgz", + "integrity": "sha512-BOZ+YGaZlhU7c5ye65RxikicXH0Ki0It6/XHISvipR5WZrfjLjL2Ke20G+AGnwBQc76gKenVcMXVUCnEjtZV+Q==", "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@jimp/utils": "^0.22.10" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/traverse": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", - "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", - "dev": true, + "node_modules/@jimp/plugin-displace": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.22.10.tgz", + "integrity": "sha512-llNiWWMTKISDXt5+cXI0GaFmZWAjlT+4fFLYf4eXquuL/9wZoQsEBhv2GdGd48mkiS8jZq1Nnb2Q4ehEPTvrzw==", "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@jimp/utils": "^0.22.10" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" + "node_modules/@jimp/plugin-dither": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.22.10.tgz", + "integrity": "sha512-05WLmeV5M+P/0FS+bWf13hMew2X0oa8w9AtmevL2UyA/5GqiyvP2Xm5WfGQ8oFiiMvpnL6RFomJQOZtWca0C2w==", + "dependencies": { + "@jimp/utils": "^0.22.10" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "dev": true, + "node_modules/@jimp/plugin-fisheye": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.10.tgz", + "integrity": "sha512-InjiXvc7Gkzrx8VWtU97kDqV7ENnhHGPULymJWeZaF2aicud9Fpk4iCtd/DcZIrk7Cbe60A8RwNXN00HXIbSCg==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" + "@jimp/utils": "^0.22.10" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, + "node_modules/@jimp/plugin-flip": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.22.10.tgz", + "integrity": "sha512-42GkGtTHWnhnwTMPVK/kXObZbkYIpQWfuIfy5EMEMk6zRj05zpv4vsjkKWfuemweZINwfvD7wDJF7FVFNNcZZg==", "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "@jimp/utils": "^0.22.10" }, - "engines": { - "node": ">=12" + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-rotate": ">=0.3.5" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, + "node_modules/@jimp/plugin-gaussian": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.10.tgz", + "integrity": "sha512-ykrG/6lTp9Q5YA8jS5XzwMHtRxb9HOFMgtmnrUZ8kU+BK8REecfy9Ic5BUEOjCYvS1a/xLsnrZQU07iiYxBxFg==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jimp/utils": "^0.22.10" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, + "node_modules/@jimp/plugin-invert": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.22.10.tgz", + "integrity": "sha512-d8j9BlUJYs/c994t4azUWSWmQq4LLPG4ecm8m6SSNqap+S/HlVQGqjYhJEBbY9EXkOTYB9vBL9bqwSM1Rr6paA==", "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@jimp/utils": "^0.22.10" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node_modules/@jimp/plugin-mask": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.22.10.tgz", + "integrity": "sha512-yRBs1230XZkz24uFTdTcSlZ0HXZpIWzM3iFQN56MzZ7USgdVZjPPDCQ8I9RpqfZ36nDflQkUO0wV7ucsi4ogow==", + "dependencies": { + "@jimp/utils": "^0.22.10" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", - "dev": true, + "node_modules/@jimp/plugin-normalize": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.22.10.tgz", + "integrity": "sha512-Wk9GX6eJMchX/ZAazVa70Fagu+OXMvHiPY+HrcEwcclL+p1wo8xAHEsf9iKno7Ja4EU9lLhbBRY5hYJyiKMEkg==", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@jimp/utils": "^0.22.10" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, + "node_modules/@jimp/plugin-print": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.22.10.tgz", + "integrity": "sha512-1U3VloIR+beE1kWPdGEJMiE2h1Do29iv3w8sBbvPyRP4qXxRFcDpmCGtctsrKmb1krlBFlj8ubyAY90xL+5n9w==", "dependencies": { - "argparse": "^2.0.1" + "@jimp/utils": "^0.22.10", + "load-bmfont": "^1.4.1" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5" } }, - "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/@jimp/plugin-resize": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.10.tgz", + "integrity": "sha512-ixomxVcnAONXDgaq0opvAx4UAOiEhOA/tipuhFFOvPKFd4yf1BAnEviB5maB0SBHHkJXPUSzDp/73xVTMGSe7g==", + "dependencies": { + "@jimp/utils": "^0.22.10" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node_modules/@jimp/plugin-rotate": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.10.tgz", + "integrity": "sha512-eeFX8dnRyf3LAdsdXWKWuN18hLRg8zy1cP0cP9rHzQVWRK7ck/QsLxK1vHq7MADGwQalNaNTJ9SQxH6c8mz6jw==", + "dependencies": { + "@jimp/utils": "^0.22.10" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, + "node_modules/@jimp/plugin-scale": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.10.tgz", + "integrity": "sha512-TG/H0oUN69C9ArBCZg4PmuoixFVKIiru8282KzSB/Tp1I0xwX0XLTv3dJ5pobPlIgPcB+TmD4xAIdkCT4rtWxg==", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@jimp/utils": "^0.22.10" }, - "engines": { - "node": ">=10.10.0" + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" + "node_modules/@jimp/plugin-shadow": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.22.10.tgz", + "integrity": "sha512-TN9xm6fI7XfxbMUQqFPZjv59Xdpf0tSiAQdINB4g6pJMWiVANR/74OtDONoy3KKpenu5Y38s+FkrtID/KcQAhw==", + "dependencies": { + "@jimp/utils": "^0.22.10" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blur": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, + "node_modules/@jimp/plugin-threshold": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.22.10.tgz", + "integrity": "sha512-DA2lSnU0TgIRbAgmXaxroYw3Ad6J2DOFEoJp0NleSm2h3GWbZEE5yW9U2B6hD3iqn4AenG4E2b2WzHXZyzSutw==", "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" + "@jimp/utils": "^0.22.10" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-color": ">=0.8.0", + "@jimp/plugin-resize": ">=0.8.0" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/@jimp/plugins": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.22.10.tgz", + "integrity": "sha512-KDMZyM6pmvS8freB+UBLko1TO/k4D7URS/nphCozuH+P7i3UMe7NdckXKJ8u+WD6sqN0YFYvBehpkpnUiw/91w==", + "dependencies": { + "@jimp/plugin-blit": "^0.22.10", + "@jimp/plugin-blur": "^0.22.10", + "@jimp/plugin-circle": "^0.22.10", + "@jimp/plugin-color": "^0.22.10", + "@jimp/plugin-contain": "^0.22.10", + "@jimp/plugin-cover": "^0.22.10", + "@jimp/plugin-crop": "^0.22.10", + "@jimp/plugin-displace": "^0.22.10", + "@jimp/plugin-dither": "^0.22.10", + "@jimp/plugin-fisheye": "^0.22.10", + "@jimp/plugin-flip": "^0.22.10", + "@jimp/plugin-gaussian": "^0.22.10", + "@jimp/plugin-invert": "^0.22.10", + "@jimp/plugin-mask": "^0.22.10", + "@jimp/plugin-normalize": "^0.22.10", + "@jimp/plugin-print": "^0.22.10", + "@jimp/plugin-resize": "^0.22.10", + "@jimp/plugin-rotate": "^0.22.10", + "@jimp/plugin-scale": "^0.22.10", + "@jimp/plugin-shadow": "^0.22.10", + "@jimp/plugin-threshold": "^0.22.10", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@jest/console": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", - "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", - "dev": true, + "node_modules/@jimp/png": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.22.10.tgz", + "integrity": "sha512-RYinU7tZToeeR2g2qAMn42AU+8OUHjXPKZZ9RkmoL4bguA1xyZWaSdr22/FBkmnHhOERRlr02KPDN1OTOYHLDQ==", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0" + "@jimp/utils": "^0.22.10", + "pngjs": "^6.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@jest/core": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", - "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", - "dev": true, + "node_modules/@jimp/tiff": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.22.10.tgz", + "integrity": "sha512-OaivlSYzpNTHyH/h7pEtl3A7F7TbsgytZs52GLX/xITW92ffgDgT6PkldIrMrET6ERh/hdijNQiew7IoEEr2og==", "dependencies": { - "@jest/console": "^29.6.2", - "@jest/reporters": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-resolve-dependencies": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "jest-watcher": "^29.6.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "utif2": "^4.0.1" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, + "node_modules/@jimp/types": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.22.10.tgz", + "integrity": "sha512-u/r+XYzbCx4zZukDmxx8S0er3Yq3iDPI6+31WKX0N18i2qPPJYcn8qwIFurfupRumGvJ8SlGLCgt/T+Y8zzUIw==", "dependencies": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2" + "@jimp/bmp": "^0.22.10", + "@jimp/gif": "^0.22.10", + "@jimp/jpeg": "^0.22.10", + "@jimp/png": "^0.22.10", + "@jimp/tiff": "^0.22.10", + "timm": "^1.6.1" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@jimp/custom": ">=0.3.5" } }, - "node_modules/@jest/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", - "dev": true, + "node_modules/@jimp/utils": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.10.tgz", + "integrity": "sha512-ztlOK9Mm2iLG2AMoabzM4i3WZ/FtshcgsJCbZCRUs/DKoeS2tySRJTnQZ1b7Roq0M4Ce+FUAxnCAcBV0q7PH9w==", "dependencies": { - "expect": "^29.6.2", - "jest-snapshot": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "regenerator-runtime": "^0.13.3" } }, - "node_modules/@jest/expect-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", - "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, - "dependencies": { - "jest-get-type": "^29.4.3" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.0.0" } }, - "node_modules/@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@jest/globals": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", - "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.2" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@jest/reporters": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", - "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/chai": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", + "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", + "dev": true + }, + "node_modules/@types/chai-subset": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", + "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", "dev": true, "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@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": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "@types/chai": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "16.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", + "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "node_modules/@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", + "dev": true + }, + "node_modules/@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { - "node-notifier": { + "typescript": { "optional": true } } }, - "node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@jest/test-result": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", - "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "dependencies": { - "@jest/console": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@jest/test-sequencer": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", - "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, - "dependencies": { - "@jest/test-result": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "slash": "^3.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@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.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jimp/bmp": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.10.tgz", - "integrity": "sha512-1UXRl1Nw1KptZ1r0ANqtXOst9vGH51dq7keVKQzyyTO2lz4dOaezS9StuSTNh+RmiHg/SVPaFRpPfB0S/ln4Kg==", - "dependencies": { - "@jimp/utils": "^0.22.10", - "bmp-js": "^0.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@jimp/core": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.22.10.tgz", - "integrity": "sha512-ZKyrehVy6wu1PnBXIUpn/fXmyMRQiVSbvHDubgXz4bfTOao3GiOurKHjByutQIgozuAN6ZHWiSge1dKA+dex3w==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10", - "any-base": "^1.1.0", - "buffer": "^5.2.0", - "exif-parser": "^0.1.12", - "file-type": "^16.5.4", - "isomorphic-fetch": "^3.0.0", - "pixelmatch": "^4.0.2", - "tinycolor2": "^1.6.0" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@jimp/custom": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.10.tgz", - "integrity": "sha512-sPZkUYe1hu0iIgNisjizxPJqq2vaaKvkCkPoXq2U6UV3ZA1si/WVdrg25da3IcGIEV+83AoHgM8TvqlLgrCJsg==", + "node_modules/@vitest/expect": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.1.tgz", + "integrity": "sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==", + "dev": true, "dependencies": { - "@jimp/core": "^0.22.10" + "@vitest/spy": "0.34.1", + "@vitest/utils": "0.34.1", + "chai": "^4.3.7" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@jimp/gif": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.22.10.tgz", - "integrity": "sha512-yEX2dSpamvkSx1PPDWGnKeWDrBz0vrCKjVG/cn4Zr68MRRT75tbZIeOrBa+RiUpY3ho5ix7d36LkYvt3qfUIhQ==", + "node_modules/@vitest/runner": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.1.tgz", + "integrity": "sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10", - "gifwrap": "^0.10.1", - "omggif": "^1.0.9" + "@vitest/utils": "0.34.1", + "p-limit": "^4.0.0", + "pathe": "^1.1.1" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@jimp/jpeg": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.22.10.tgz", - "integrity": "sha512-6bu98pAcVN4DY2oiDLC4TOgieX/lZrLd1tombWZOFCN5PBmqaHQxm7IUmT+Wj4faEvh8QSHgVLSA+2JQQRJWVA==", + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10", - "jpeg-js": "^0.4.4" + "yocto-queue": "^1.0.0" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jimp/plugin-blit": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.10.tgz", - "integrity": "sha512-6EI8Sl+mxYHEIy6Yteh6eknD+EZguKpNdr3sCKxNezmLR0+vK99vHcllo6uGSjXXiwtwS67Xqxn8SsoatL+UJQ==", - "dependencies": { - "@jimp/utils": "^0.22.10" + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jimp/plugin-blur": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.10.tgz", - "integrity": "sha512-4XRTWuPVdMXJeclJMisXPGizeHtTryVaVV5HnuQXpKqIZtzXReCCpNGH8q/i0kBQOQMXhGWS3mpqOEwtpPePKw==", + "node_modules/@vitest/snapshot": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.1.tgz", + "integrity": "sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10" + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "pretty-format": "^29.5.0" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@jimp/plugin-circle": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.22.10.tgz", - "integrity": "sha512-mhcwTO1ywRxiCgtLGge6tDDIDPlX6qkI3CY+BjgGG/XhVHccCddXgOGLdlf+5OuKIEF2Nqs0V01LQEQIJFTmEw==", + "node_modules/@vitest/spy": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.1.tgz", + "integrity": "sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10" + "tinyspy": "^2.1.1" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@jimp/plugin-color": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.10.tgz", - "integrity": "sha512-e4t3L7Kedd96E0x1XjsTM6NcgulKUU66HdFTao7Tc9FYJRFSlttARZ/C6LEryGDm/i69R6bJEpo7BkNz0YL55Q==", + "node_modules/@vitest/utils": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.1.tgz", + "integrity": "sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10", - "tinycolor2": "^1.6.0" + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@jimp/plugin-contain": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.22.10.tgz", - "integrity": "sha512-eP8KrzctuEoqibQAxi9WhbnoRosydhiwg+IYya3dKuKDBTrD9UHt+ERlPQ/lTNWHzV/l4S1ntV3r9s9saJgsXA==", - "dependencies": { - "@jimp/utils": "^0.22.10" + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blit": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5", - "@jimp/plugin-scale": ">=0.3.5" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@jimp/plugin-cover": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.22.10.tgz", - "integrity": "sha512-kJCwL5T1igfa0InCfkE7bBeqg26m46aoRt10ug+rvm11P6RrvRMGrgINFyIKB+mnB7CiyBN/MOula1CvLhSInQ==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-crop": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5", - "@jimp/plugin-scale": ">=0.3.5" + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@jimp/plugin-crop": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.10.tgz", - "integrity": "sha512-BOZ+YGaZlhU7c5ye65RxikicXH0Ki0It6/XHISvipR5WZrfjLjL2Ke20G+AGnwBQc76gKenVcMXVUCnEjtZV+Q==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@jimp/plugin-displace": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.22.10.tgz", - "integrity": "sha512-llNiWWMTKISDXt5+cXI0GaFmZWAjlT+4fFLYf4eXquuL/9wZoQsEBhv2GdGd48mkiS8jZq1Nnb2Q4ehEPTvrzw==", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@jimp/plugin-dither": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.22.10.tgz", - "integrity": "sha512-05WLmeV5M+P/0FS+bWf13hMew2X0oa8w9AtmevL2UyA/5GqiyvP2Xm5WfGQ8oFiiMvpnL6RFomJQOZtWca0C2w==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/@jimp/plugin-fisheye": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.10.tgz", - "integrity": "sha512-InjiXvc7Gkzrx8VWtU97kDqV7ENnhHGPULymJWeZaF2aicud9Fpk4iCtd/DcZIrk7Cbe60A8RwNXN00HXIbSCg==", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10" + "color-convert": "^2.0.1" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jimp/plugin-flip": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.22.10.tgz", - "integrity": "sha512-42GkGtTHWnhnwTMPVK/kXObZbkYIpQWfuIfy5EMEMk6zRj05zpv4vsjkKWfuemweZINwfvD7wDJF7FVFNNcZZg==", + "node_modules/any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-rotate": ">=0.3.5" + "engines": { + "node": ">= 8" } }, - "node_modules/@jimp/plugin-gaussian": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.10.tgz", - "integrity": "sha512-ykrG/6lTp9Q5YA8jS5XzwMHtRxb9HOFMgtmnrUZ8kU+BK8REecfy9Ic5BUEOjCYvS1a/xLsnrZQU07iiYxBxFg==", + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, "dependencies": { - "@jimp/utils": "^0.22.10" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jimp/plugin-invert": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.22.10.tgz", - "integrity": "sha512-d8j9BlUJYs/c994t4azUWSWmQq4LLPG4ecm8m6SSNqap+S/HlVQGqjYhJEBbY9EXkOTYB9vBL9bqwSM1Rr6paA==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-mask": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.22.10.tgz", - "integrity": "sha512-yRBs1230XZkz24uFTdTcSlZ0HXZpIWzM3iFQN56MzZ7USgdVZjPPDCQ8I9RpqfZ36nDflQkUO0wV7ucsi4ogow==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-normalize": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.22.10.tgz", - "integrity": "sha512-Wk9GX6eJMchX/ZAazVa70Fagu+OXMvHiPY+HrcEwcclL+p1wo8xAHEsf9iKno7Ja4EU9lLhbBRY5hYJyiKMEkg==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-print": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.22.10.tgz", - "integrity": "sha512-1U3VloIR+beE1kWPdGEJMiE2h1Do29iv3w8sBbvPyRP4qXxRFcDpmCGtctsrKmb1krlBFlj8ubyAY90xL+5n9w==", - "dependencies": { - "@jimp/utils": "^0.22.10", - "load-bmfont": "^1.4.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blit": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-resize": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.10.tgz", - "integrity": "sha512-ixomxVcnAONXDgaq0opvAx4UAOiEhOA/tipuhFFOvPKFd4yf1BAnEviB5maB0SBHHkJXPUSzDp/73xVTMGSe7g==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-rotate": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.10.tgz", - "integrity": "sha512-eeFX8dnRyf3LAdsdXWKWuN18hLRg8zy1cP0cP9rHzQVWRK7ck/QsLxK1vHq7MADGwQalNaNTJ9SQxH6c8mz6jw==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blit": ">=0.3.5", - "@jimp/plugin-crop": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-scale": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.10.tgz", - "integrity": "sha512-TG/H0oUN69C9ArBCZg4PmuoixFVKIiru8282KzSB/Tp1I0xwX0XLTv3dJ5pobPlIgPcB+TmD4xAIdkCT4rtWxg==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-shadow": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.22.10.tgz", - "integrity": "sha512-TN9xm6fI7XfxbMUQqFPZjv59Xdpf0tSiAQdINB4g6pJMWiVANR/74OtDONoy3KKpenu5Y38s+FkrtID/KcQAhw==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blur": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-threshold": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.22.10.tgz", - "integrity": "sha512-DA2lSnU0TgIRbAgmXaxroYw3Ad6J2DOFEoJp0NleSm2h3GWbZEE5yW9U2B6hD3iqn4AenG4E2b2WzHXZyzSutw==", - "dependencies": { - "@jimp/utils": "^0.22.10" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-color": ">=0.8.0", - "@jimp/plugin-resize": ">=0.8.0" - } - }, - "node_modules/@jimp/plugins": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.22.10.tgz", - "integrity": "sha512-KDMZyM6pmvS8freB+UBLko1TO/k4D7URS/nphCozuH+P7i3UMe7NdckXKJ8u+WD6sqN0YFYvBehpkpnUiw/91w==", - "dependencies": { - "@jimp/plugin-blit": "^0.22.10", - "@jimp/plugin-blur": "^0.22.10", - "@jimp/plugin-circle": "^0.22.10", - "@jimp/plugin-color": "^0.22.10", - "@jimp/plugin-contain": "^0.22.10", - "@jimp/plugin-cover": "^0.22.10", - "@jimp/plugin-crop": "^0.22.10", - "@jimp/plugin-displace": "^0.22.10", - "@jimp/plugin-dither": "^0.22.10", - "@jimp/plugin-fisheye": "^0.22.10", - "@jimp/plugin-flip": "^0.22.10", - "@jimp/plugin-gaussian": "^0.22.10", - "@jimp/plugin-invert": "^0.22.10", - "@jimp/plugin-mask": "^0.22.10", - "@jimp/plugin-normalize": "^0.22.10", - "@jimp/plugin-print": "^0.22.10", - "@jimp/plugin-resize": "^0.22.10", - "@jimp/plugin-rotate": "^0.22.10", - "@jimp/plugin-scale": "^0.22.10", - "@jimp/plugin-shadow": "^0.22.10", - "@jimp/plugin-threshold": "^0.22.10", - "timm": "^1.6.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/png": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.22.10.tgz", - "integrity": "sha512-RYinU7tZToeeR2g2qAMn42AU+8OUHjXPKZZ9RkmoL4bguA1xyZWaSdr22/FBkmnHhOERRlr02KPDN1OTOYHLDQ==", - "dependencies": { - "@jimp/utils": "^0.22.10", - "pngjs": "^6.0.0" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/tiff": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.22.10.tgz", - "integrity": "sha512-OaivlSYzpNTHyH/h7pEtl3A7F7TbsgytZs52GLX/xITW92ffgDgT6PkldIrMrET6ERh/hdijNQiew7IoEEr2og==", - "dependencies": { - "utif2": "^4.0.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/types": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.22.10.tgz", - "integrity": "sha512-u/r+XYzbCx4zZukDmxx8S0er3Yq3iDPI6+31WKX0N18i2qPPJYcn8qwIFurfupRumGvJ8SlGLCgt/T+Y8zzUIw==", - "dependencies": { - "@jimp/bmp": "^0.22.10", - "@jimp/gif": "^0.22.10", - "@jimp/jpeg": "^0.22.10", - "@jimp/png": "^0.22.10", - "@jimp/tiff": "^0.22.10", - "timm": "^1.6.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/utils": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.10.tgz", - "integrity": "sha512-ztlOK9Mm2iLG2AMoabzM4i3WZ/FtshcgsJCbZCRUs/DKoeS2tySRJTnQZ1b7Roq0M4Ce+FUAxnCAcBV0q7PH9w==", - "dependencies": { - "regenerator-runtime": "^0.13.3" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.5.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", - "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "16.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", - "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", - "dev": true - }, - "node_modules/@types/strip-json-comments": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", - "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-base": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", - "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bmp-js": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", - "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001519", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", - "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", - "dev": true - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "node_modules/dynamic-dedupe": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", - "integrity": "sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE=", - "dev": true, - "dependencies": { - "xtend": "^4.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.482", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz", - "integrity": "sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.2", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", - "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", - "eslint-plugin-promise": "^6.0.0" - } - }, - "node_modules/eslint-config-standard-jsx": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", - "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peerDependencies": { - "eslint": "^8.8.0", - "eslint-plugin-react": "^7.28.0" - } - }, - "node_modules/eslint-config-standard-with-typescript": { - "version": "23.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-23.0.0.tgz", - "integrity": "sha512-iaaWifImn37Z1OXbNW1es7KI+S7D408F9ys0bpaQf2temeBWlvb0Nc5qHkOgYaRb5QxTZT32GGeN1gtswASOXA==", - "dev": true, - "dependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint-config-standard": "17.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", - "eslint-plugin-promise": "^6.0.0", - "typescript": "*" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" + "node": ">=8" } }, - "node_modules/eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", "dev": true, "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" }, "engines": { - "node": ">=8.10.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/resolve": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", - "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.12.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-n": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", - "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true, - "dependencies": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.11.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.8" - }, "engines": { - "node": ">=12.22.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "node": "*" } }, - "node_modules/eslint-plugin-n/node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-promise": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", - "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-react": { - "version": "7.33.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", - "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", + "node_modules/bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", + "engines": { + "node": ">=0.4.0" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" + "semver": "^7.0.0" } }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" }, - "funding": { - "url": "https://opencollective.com/eslint" + "engines": { + "node": ">=4" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 8.10.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=7.0.0" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "node": ">= 8" } }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=10" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "type-detect": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, "engines": { - "node": ">=4" + "node": ">=0.3.1" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, "engines": { - "node": ">=0.10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { - "estraverse": "^5.2.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, "engines": { - "node": ">=4.0" + "node": ">=6.0.0" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE=", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "xtend": "^4.0.0" } }, - "node_modules/exif-parser": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "engines": { - "node": ">= 0.8.0" + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "node_modules/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.6.2", - "@types/node": "*", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2" + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, "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" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "has": "^1.0.3" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "dependencies": { - "bser": "2.1.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/esbuild": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", + "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.17", + "@esbuild/android-arm64": "0.18.17", + "@esbuild/android-x64": "0.18.17", + "@esbuild/darwin-arm64": "0.18.17", + "@esbuild/darwin-x64": "0.18.17", + "@esbuild/freebsd-arm64": "0.18.17", + "@esbuild/freebsd-x64": "0.18.17", + "@esbuild/linux-arm": "0.18.17", + "@esbuild/linux-arm64": "0.18.17", + "@esbuild/linux-ia32": "0.18.17", + "@esbuild/linux-loong64": "0.18.17", + "@esbuild/linux-mips64el": "0.18.17", + "@esbuild/linux-ppc64": "0.18.17", + "@esbuild/linux-riscv64": "0.18.17", + "@esbuild/linux-s390x": "0.18.17", + "@esbuild/linux-x64": "0.18.17", + "@esbuild/netbsd-x64": "0.18.17", + "@esbuild/openbsd-x64": "0.18.17", + "@esbuild/sunos-x64": "0.18.17", + "@esbuild/win32-arm64": "0.18.17", + "@esbuild/win32-ia32": "0.18.17", + "@esbuild/win32-x64": "0.18.17" } }, - "node_modules/file-type": { - "version": "16.5.4", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", - "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", + "node_modules/eslint": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "dev": true, "dependencies": { - "readable-web-to-node-stream": "^3.0.0", - "strtok3": "^6.2.4", - "token-types": "^4.1.1" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/eslint-config-standard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peerDependencies": { + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0" + } + }, + "node_modules/eslint-config-standard-jsx": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", + "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peerDependencies": { + "eslint": "^8.8.0", + "eslint-plugin-react": "^7.28.0" + } + }, + "node_modules/eslint-config-standard-with-typescript": { + "version": "23.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-23.0.0.tgz", + "integrity": "sha512-iaaWifImn37Z1OXbNW1es7KI+S7D408F9ys0bpaQf2temeBWlvb0Nc5qHkOgYaRb5QxTZT32GGeN1gtswASOXA==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "@typescript-eslint/parser": "^5.0.0", + "eslint-config-standard": "17.0.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0", + "typescript": "*" } }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "ms": "^2.1.1" } }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { - "rimraf": "bin.js" + "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "dependencies": { - "is-callable": "^1.1.3" + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "node_modules/eslint-plugin-es/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/eslint-plugin-import": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", + "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.12.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "resolve": "^1.22.3", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=0.10.0" } }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "node_modules/eslint-plugin-import/node_modules/resolve": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", + "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "is-core-module": "^2.12.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "engines": { - "node": ">=8.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "node_modules/eslint-plugin-n": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", + "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", "dev": true, + "dependencies": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" + }, "engines": { - "node": ">=10" + "node": ">=12.22.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/eslint-plugin-n/node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", + "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" }, "engines": { - "node": ">= 0.4" + "node": ">=4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/gifwrap": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz", - "integrity": "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==", + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, "dependencies": { - "image-q": "^4.0.0", - "omggif": "^1.0.10" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": "*" + "bin": { + "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">= 6" + "node": ">=8.0.0" } }, - "node_modules/global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" } }, - "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=8" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", "dev": true, - "dependencies": { - "define-properties": "^1.1.3" - }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, "engines": { "node": ">=10" }, @@ -4041,415 +2587,379 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.1" + "argparse": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "p-locate": "^5.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "p-limit": "^3.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-q": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz", - "integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==", - "dependencies": { - "@types/node": "16.9.1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4.0" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { - "node": ">=0.8.19" + "node": ">=4.0" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "node_modules/exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">= 0.4" + "node": ">=8.6.0" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "reusify": "^1.0.4" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "dependencies": { - "binary-extensions": "^2.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, + "node_modules/file-type": { + "version": "16.5.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", + "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "to-regex-range": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "dependencies": { - "has": "^1.0.3" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 0.4" + "bin": { + "rimraf": "bin.js" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -4458,48 +2968,64 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/gifwrap": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz", + "integrity": "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==", + "dependencies": { + "image-q": "^4.0.0", + "omggif": "^1.0.10" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "is-glob": "^4.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 6" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { "node": ">=8" }, @@ -4507,28 +3033,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "define-properties": "^1.1.3" }, "engines": { "node": ">= 0.4" @@ -4537,703 +3060,504 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { - "which-typed-array": "^1.1.11" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "get-intrinsic": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", - "dependencies": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { - "@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" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4.0" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "get-intrinsic": "^1.1.1" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", - "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, - "dependencies": { - "@jest/core": "^29.6.2", - "@jest/types": "^29.6.1", - "import-local": "^3.0.2", - "jest-cli": "^29.6.2" - }, - "bin": { - "jest": "bin/jest.js" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-changed-files": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-circus": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", - "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, - "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.2", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.2", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 4" } }, - "node_modules/jest-cli": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", - "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", - "dev": true, + "node_modules/image-q": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz", + "integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==", "dependencies": { - "@jest/core": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@types/node": "16.9.1" } }, - "node_modules/jest-config": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", - "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.2", - "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.6.2", - "jest-environment-node": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" + "node": ">=6" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-config/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.8.19" } }, - "node_modules/jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/jest-each": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", - "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.2", - "pretty-format": "^29.6.2" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-environment-node": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", - "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true }, - "node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "has-bigints": "^1.0.1" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-leak-detector": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", - "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "dependencies": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "binary-extensions": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" + "has": "^1.0.3" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "has-tostringtag": "^1.0.0" }, - "peerDependencies": { - "jest-resolve": "*" + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-resolve": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", - "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", - "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, - "dependencies": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.6.2" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", - "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "dependencies": { - "@jest/console": "^29.6.2", - "@jest/environment": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-leak-detector": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-resolve": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-util": "^29.6.2", - "jest-watcher": "^29.6.2", - "jest-worker": "^29.6.2", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.12.0" } }, - "node_modules/jest-runtime": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", - "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/globals": "^29.6.2", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@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.6.2", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, - "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.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-validate": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", - "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.2" + "call-bind": "^1.0.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watcher": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", - "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "dependencies": { - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.2", - "string-length": "^4.0.1" + "has-symbols": "^1.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "which-typed-array": "^1.1.11" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" + "call-bind": "^1.0.2" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "dependencies": { + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" } }, "node_modules/jimp": { @@ -5258,43 +3582,12 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -5319,6 +3612,12 @@ "json5": "lib/cli.js" } }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -5334,24 +3633,6 @@ "node": ">=4.0" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -5365,12 +3646,6 @@ "node": ">= 0.8.0" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, "node_modules/load-bmfont": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", @@ -5398,24 +3673,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -5434,6 +3703,15 @@ "loose-envify": "cli.js" } }, + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.0" + } + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -5446,42 +3724,30 @@ "node": ">=10" } }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "node_modules/magic-string": { + "version": "0.30.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz", + "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==", "dev": true, "dependencies": { - "semver": "^7.5.3" + "@jridgewell/sourcemap-codec": "^1.4.15" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, + "node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -5515,15 +3781,6 @@ "node": ">=4" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", @@ -5562,12 +3819,42 @@ "node": ">=10" } }, + "node_modules/mlly": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz", + "integrity": "sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.1.2" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -5599,18 +3886,6 @@ } } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -5620,18 +3895,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -5764,21 +4027,6 @@ "wrappy": "1" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -5811,33 +4059,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -5888,24 +4109,6 @@ "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -5948,6 +4151,21 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/peek-readable": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", @@ -5992,15 +4210,6 @@ "node": ">=6" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/pixelmatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", @@ -6118,16 +4327,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", "dev": true, "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" } }, "node_modules/pngjs": { @@ -6138,6 +4346,34 @@ "node": ">=12.13.0" } }, + "node_modules/postcss": { + "version": "8.4.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -6181,19 +4417,6 @@ "node": ">= 0.6.0" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -6220,22 +4443,6 @@ "node": ">=6" } }, - "node_modules/pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -6336,15 +4543,6 @@ "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -6362,36 +4560,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -6414,6 +4582,22 @@ "rimraf": "bin.js" } }, + "node_modules/rollup": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.1.tgz", + "integrity": "sha512-tXNDFwOkN6C2w5Blj1g6ForKeFw6c1mDu5jxoeDO3/pmYjgt+8yvIFjKzH5FQUq70OKZBkOt0zzv0THXL7vwzQ==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -6524,16 +4708,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, "node_modules/slash": { @@ -6554,6 +4732,15 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", @@ -6564,24 +4751,12 @@ "source-map": "^0.6.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/standard-engine": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", @@ -6723,6 +4898,12 @@ "node": ">=6" } }, + "node_modules/std-env": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz", + "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==", + "dev": true + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -6750,33 +4931,6 @@ } ] }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -6862,15 +5016,6 @@ "node": ">=4" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -6880,6 +5025,18 @@ "node": ">=0.10.0" } }, + "node_modules/strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/strtok3": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", @@ -6920,20 +5077,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -6945,24 +5088,33 @@ "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" }, + "node_modules/tinybench": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz", + "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==", + "dev": true + }, "node_modules/tinycolor2": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "node_modules/tinypool": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz", + "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "node_modules/tinyspy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz", + "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, "node_modules/to-regex-range": { @@ -6987,79 +5139,24 @@ }, "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true, "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" + "tree-kill": "cli.js" } }, "node_modules/ts-node": { @@ -7234,18 +5331,6 @@ "node": ">=4" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typed-array-buffer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", @@ -7324,6 +5409,12 @@ "node": ">=14.17" } }, + "node_modules/ufo": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.2.0.tgz", + "integrity": "sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==", + "dev": true + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -7339,36 +5430,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -7397,33 +5458,159 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, - "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "node_modules/vite": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.8.tgz", + "integrity": "sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "esbuild": "^0.18.10", + "postcss": "^8.4.26", + "rollup": "^3.25.2" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=10.12.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "node_modules/vite-node": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.1.tgz", + "integrity": "sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "mlly": "^1.4.0", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^3.0.0 || ^4.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "node_modules/vitest": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.1.tgz", + "integrity": "sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==", "dev": true, "dependencies": { - "makeerror": "1.0.12" + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.34.1", + "@vitest/runner": "0.34.1", + "@vitest/snapshot": "0.34.1", + "@vitest/spy": "0.34.1", + "@vitest/utils": "0.34.1", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.7", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.7.0", + "vite": "^3.0.0 || ^4.0.0", + "vite-node": "0.34.1", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } } }, "node_modules/webidl-conversions": { @@ -7495,21 +5682,20 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "siginfo": "^2.0.0", + "stackback": "0.0.2" }, - "engines": { - "node": ">=10" + "bin": { + "why-is-node-running": "cli.js" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "engines": { + "node": ">=8" } }, "node_modules/wrappy": { @@ -7518,19 +5704,6 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/xdg-basedir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", @@ -7576,576 +5749,223 @@ "node": ">=4.0" } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.5" - } - }, - "@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true - }, - "@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", - "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" } }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, - "requires": { - "@babel/types": "^7.22.5" + "engines": { + "node": ">=6" } }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "requires": { - "@babel/types": "^7.22.5" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true }, - "@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" - } - }, - "@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@jridgewell/trace-mapping": "0.3.9" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } } } }, - "@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", - "dev": true + "@esbuild/android-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", + "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "dev": true, + "optional": true }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "@esbuild/android-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", + "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } + "optional": true }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "@esbuild/android-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", + "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } + "optional": true }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "@esbuild/darwin-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", + "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } + "optional": true }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "@esbuild/darwin-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", + "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } + "optional": true }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "@esbuild/freebsd-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", + "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } + "optional": true }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "@esbuild/freebsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", + "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } + "optional": true }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "@esbuild/linux-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", + "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } + "optional": true }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "@esbuild/linux-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", + "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } + "optional": true }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "@esbuild/linux-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", + "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } + "optional": true }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "@esbuild/linux-loong64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", + "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } + "optional": true }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "@esbuild/linux-mips64el": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", + "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } + "optional": true }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "@esbuild/linux-ppc64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", + "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } + "optional": true }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "@esbuild/linux-riscv64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", + "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } + "optional": true }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "@esbuild/linux-s390x": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", + "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } + "optional": true }, - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "@esbuild/linux-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", + "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } + "optional": true }, - "@babel/traverse": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", - "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "@esbuild/netbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", + "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } + "optional": true }, - "@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "@esbuild/openbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", + "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } + "optional": true }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "@esbuild/sunos-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", + "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "dev": true, + "optional": true }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "@esbuild/win32-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", + "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", + "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", + "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "dev": true, + "optional": true }, "@eslint-community/eslint-utils": { "version": "4.4.0", @@ -8205,269 +6025,39 @@ "@eslint/js": { "version": "8.46.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", - "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", - "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", - "dev": true, - "requires": { - "@jest/console": "^29.6.2", - "@jest/reporters": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-resolve-dependencies": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "jest-watcher": "^29.6.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2" - } - }, - "@jest/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", - "dev": true, - "requires": { - "expect": "^29.6.2", - "jest-snapshot": "^29.6.2" - } - }, - "@jest/expect-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", - "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", - "dev": true, - "requires": { - "jest-get-type": "^29.4.3" - } - }, - "@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - } - }, - "@jest/globals": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", - "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.2" - } - }, - "@jest/reporters": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", - "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@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": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - } - }, - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "dev": true }, - "@jest/test-result": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", - "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "requires": { - "@jest/console": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" } }, - "@jest/test-sequencer": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", - "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", - "dev": true, - "requires": { - "@jest/test-result": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "slash": "^3.0.0" - } + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@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.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - } + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@sinclair/typebox": "^0.27.8" } }, "@jimp/bmp": { @@ -8758,45 +6348,18 @@ "regenerator-runtime": "^0.13.3" } }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, "@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -8829,24 +6392,6 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, "@tokenizer/token": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", @@ -8876,88 +6421,19 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, - "@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "@types/chai": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", + "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", "dev": true }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.5.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", - "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", + "@types/chai-subset": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", + "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", "dev": true, "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "@types/chai": "*" } }, "@types/json-schema": { @@ -8983,12 +6459,6 @@ "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", "dev": true }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, "@types/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", @@ -9001,21 +6471,6 @@ "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", "dev": true }, - "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, "@typescript-eslint/eslint-plugin": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", @@ -9115,6 +6570,76 @@ "eslint-visitor-keys": "^3.3.0" } }, + "@vitest/expect": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.1.tgz", + "integrity": "sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==", + "dev": true, + "requires": { + "@vitest/spy": "0.34.1", + "@vitest/utils": "0.34.1", + "chai": "^4.3.7" + } + }, + "@vitest/runner": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.1.tgz", + "integrity": "sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==", + "dev": true, + "requires": { + "@vitest/utils": "0.34.1", + "p-limit": "^4.0.0", + "pathe": "^1.1.1" + }, + "dependencies": { + "p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true + } + } + }, + "@vitest/snapshot": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.1.tgz", + "integrity": "sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==", + "dev": true, + "requires": { + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "pretty-format": "^29.5.0" + } + }, + "@vitest/spy": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.1.tgz", + "integrity": "sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==", + "dev": true, + "requires": { + "tinyspy": "^2.1.1" + } + }, + "@vitest/utils": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.1.tgz", + "integrity": "sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==", + "dev": true, + "requires": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + } + }, "acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", @@ -9146,15 +6671,6 @@ "uri-js": "^4.2.2" } }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -9191,15 +6707,6 @@ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, "array-buffer-byte-length": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", @@ -9293,82 +6800,18 @@ "is-shared-array-buffer": "^1.0.2" } }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, "available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "requires": { - "@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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -9410,36 +6853,6 @@ "fill-range": "^7.0.1" } }, - "browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -9469,6 +6882,12 @@ "semver": "^7.0.0" } }, + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -9485,17 +6904,20 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001519", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", - "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", - "dev": true + "chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } }, "chalk": { "version": "4.1.2", @@ -9507,10 +6929,10 @@ "supports-color": "^7.1.0" } }, - "char-regex": { + "check-error": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", "dev": true }, "chokidar": { @@ -9529,41 +6951,6 @@ "readdirp": "~3.6.0" } }, - "ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -9585,12 +6972,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -9617,12 +6998,14 @@ "ms": "2.1.2" } }, - "dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, - "requires": {} + "requires": { + "type-detect": "^4.0.0" + } }, "deep-is": { "version": "0.1.4", @@ -9630,12 +7013,6 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, "define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", @@ -9646,12 +7023,6 @@ "object-keys": "^1.1.1" } }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -9696,24 +7067,6 @@ "xtend": "^4.0.0" } }, - "electron-to-chromium": { - "version": "1.4.482", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz", - "integrity": "sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==", - "dev": true - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -9801,17 +7154,35 @@ "is-symbol": "^1.0.2" } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true + "esbuild": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", + "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.17", + "@esbuild/android-arm64": "0.18.17", + "@esbuild/android-x64": "0.18.17", + "@esbuild/darwin-arm64": "0.18.17", + "@esbuild/darwin-x64": "0.18.17", + "@esbuild/freebsd-arm64": "0.18.17", + "@esbuild/freebsd-x64": "0.18.17", + "@esbuild/linux-arm": "0.18.17", + "@esbuild/linux-arm64": "0.18.17", + "@esbuild/linux-ia32": "0.18.17", + "@esbuild/linux-loong64": "0.18.17", + "@esbuild/linux-mips64el": "0.18.17", + "@esbuild/linux-ppc64": "0.18.17", + "@esbuild/linux-riscv64": "0.18.17", + "@esbuild/linux-s390x": "0.18.17", + "@esbuild/linux-x64": "0.18.17", + "@esbuild/netbsd-x64": "0.18.17", + "@esbuild/openbsd-x64": "0.18.17", + "@esbuild/sunos-x64": "0.18.17", + "@esbuild/win32-arm64": "0.18.17", + "@esbuild/win32-ia32": "0.18.17", + "@esbuild/win32-x64": "0.18.17" + } }, "eslint": { "version": "8.46.0", @@ -10234,12 +7605,6 @@ "eslint-visitor-keys": "^3.4.1" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, "esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -10270,47 +7635,10 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exif-parser": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.6.2", - "@types/node": "*", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2" - } + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" }, "fast-deep-equal": { "version": "3.1.3", @@ -10352,15 +7680,6 @@ "reusify": "^1.0.4" } }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -10389,16 +7708,6 @@ "to-regex-range": "^5.0.1" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -10472,16 +7781,10 @@ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true }, "get-intrinsic": { @@ -10496,24 +7799,12 @@ "has-symbols": "^1.0.3" } }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, "get-stdin": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", "dev": true }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, "get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -10677,18 +7968,6 @@ "has-symbols": "^1.0.2" } }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -10726,16 +8005,6 @@ } } }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -10843,23 +8112,11 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, "is-function": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -10915,12 +8172,6 @@ "call-bind": "^1.0.2" } }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -10944,539 +8195,38 @@ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", - "requires": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" - } - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", - "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", - "dev": true, - "requires": { - "@jest/core": "^29.6.2", - "@jest/types": "^29.6.1", - "import-local": "^3.0.2", - "jest-cli": "^29.6.2" - } - }, - "jest-changed-files": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", - "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.2", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.2", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-cli": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", - "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", - "dev": true, - "requires": { - "@jest/core": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - } - }, - "jest-config": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", - "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.2", - "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.6.2", - "jest-environment-node": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - } - } - }, - "jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", - "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.2", - "pretty-format": "^29.6.2" - } - }, - "jest-environment-node": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", - "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - } - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", - "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", - "dev": true, - "requires": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true - }, - "jest-resolve": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", - "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", - "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", - "dev": true, - "requires": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.6.2" - } - }, - "jest-runner": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", - "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", - "dev": true, - "requires": { - "@jest/console": "^29.6.2", - "@jest/environment": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-leak-detector": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-resolve": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-util": "^29.6.2", - "jest-watcher": "^29.6.2", - "jest-worker": "^29.6.2", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", - "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/globals": "^29.6.2", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@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.6.2", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - } - } - }, - "jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, - "requires": { - "@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.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" - } - }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", - "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.2" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - } + "requires": { + "which-typed-array": "^1.1.11" } }, - "jest-watcher": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", - "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.2", - "string-length": "^4.0.1" + "call-bind": "^1.0.2" } }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" } }, "jimp": { @@ -11501,34 +8251,12 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -11550,6 +8278,12 @@ "minimist": "^1.2.0" } }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, "jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -11562,18 +8296,6 @@ "object.values": "^1.1.6" } }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -11584,12 +8306,6 @@ "type-check": "~0.4.0" } }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, "load-bmfont": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", @@ -11611,19 +8327,10 @@ "integrity": "sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==", "dev": true }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", "dev": true }, "lodash.merge": { @@ -11641,6 +8348,15 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "requires": { + "get-func-name": "^2.0.0" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -11650,13 +8366,21 @@ "yallist": "^4.0.0" } }, - "make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "magic-string": { + "version": "0.30.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz", + "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==", "dev": true, "requires": { - "semver": "^7.5.3" + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + } } }, "make-error": { @@ -11665,21 +8389,6 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -11701,12 +8410,6 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, "min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", @@ -11736,12 +8439,30 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, + "mlly": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz", + "integrity": "sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.1.2" + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -11762,33 +8483,12 @@ "whatwg-url": "^5.0.0" } }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -11888,15 +8588,6 @@ "wrappy": "1" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, "optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -11920,26 +8611,6 @@ "yocto-queue": "^0.1.0" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - }, - "dependencies": { - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - } - } - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -11984,18 +8655,6 @@ "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -12026,6 +8685,18 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, "peek-readable": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", @@ -12054,12 +8725,6 @@ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true - }, "pixelmatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", @@ -12136,13 +8801,15 @@ } } }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", "dev": true, "requires": { - "find-up": "^4.0.0" + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" } }, "pngjs": { @@ -12150,6 +8817,17 @@ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==" }, + "postcss": { + "version": "8.4.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "dev": true, + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -12180,16 +8858,6 @@ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -12215,12 +8883,6 @@ "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, - "pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", - "dev": true - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -12282,12 +8944,6 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, "resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -12299,27 +8955,6 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true - }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -12335,6 +8970,15 @@ "glob": "^7.1.3" } }, + "rollup": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.1.tgz", + "integrity": "sha512-tXNDFwOkN6C2w5Blj1g6ForKeFw6c1mDu5jxoeDO3/pmYjgt+8yvIFjKzH5FQUq70OKZBkOt0zzv0THXL7vwzQ==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -12407,16 +9051,10 @@ "object-inspect": "^1.9.0" } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, "slash": { @@ -12431,6 +9069,12 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, "source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", @@ -12441,21 +9085,12 @@ "source-map": "^0.6.0" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - } - }, "standard-engine": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", @@ -12552,6 +9187,12 @@ } } }, + "std-env": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz", + "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==", + "dev": true + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -12567,27 +9208,6 @@ } } }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, "string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -12652,18 +9272,21 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, + "strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dev": true, + "requires": { + "acorn": "^8.10.0" + } + }, "strtok3": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", @@ -12688,17 +9311,6 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -12710,21 +9322,27 @@ "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" }, + "tinybench": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz", + "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==", + "dev": true + }, "tinycolor2": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "tinypool": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz", + "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "tinyspy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz", + "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==", "dev": true }, "to-regex-range": { @@ -12756,30 +9374,6 @@ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - } - } - }, "ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -12893,12 +9487,6 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, "typed-array-buffer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", @@ -12952,6 +9540,12 @@ "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", "dev": true }, + "ufo": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.2.0.tgz", + "integrity": "sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==", + "dev": true + }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -12964,16 +9558,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -13002,32 +9586,62 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, - "v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "vite": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.8.tgz", + "integrity": "sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - } + "esbuild": "^0.18.10", + "fsevents": "~2.3.2", + "postcss": "^8.4.26", + "rollup": "^3.25.2" + } + }, + "vite-node": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.1.tgz", + "integrity": "sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==", + "dev": true, + "requires": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "mlly": "^1.4.0", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^3.0.0 || ^4.0.0" } }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "vitest": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.1.tgz", + "integrity": "sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==", "dev": true, "requires": { - "makeerror": "1.0.12" + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.34.1", + "@vitest/runner": "0.34.1", + "@vitest/snapshot": "0.34.1", + "@vitest/spy": "0.34.1", + "@vitest/utils": "0.34.1", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.7", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.7.0", + "vite": "^3.0.0 || ^4.0.0", + "vite-node": "0.34.1", + "why-is-node-running": "^2.2.2" } }, "webidl-conversions": { @@ -13084,15 +9698,14 @@ "has-tostringtag": "^1.0.0" } }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "siginfo": "^2.0.0", + "stackback": "0.0.2" } }, "wrappy": { @@ -13101,16 +9714,6 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, "xdg-basedir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", @@ -13152,39 +9755,12 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/package.json b/package.json index 8df7eae..7d7a5f2 100755 --- a/package.json +++ b/package.json @@ -32,12 +32,10 @@ "jimp": "^0.22.10" }, "devDependencies": { - "@types/jest": "^29.5.3", - "jest": "^29.6.2", - "ts-jest": "^29.1.1", "ts-node-dev": "^2.0.0", "ts-standard": "^12.0.2", - "typescript": "^5.1.6" + "typescript": "^5.1.6", + "vitest": "^0.34.1" }, "eslintConfig": { "parserOptions": { From 6f1638ecf0f2d9a958e594a9dca45e95cfcaae5c Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 3 Aug 2023 20:03:15 +0200 Subject: [PATCH 12/64] typescript config --- tsconfig.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) mode change 100644 => 100755 tsconfig.json diff --git a/tsconfig.json b/tsconfig.json old mode 100644 new mode 100755 index c0f2387..5b5196a --- a/tsconfig.json +++ b/tsconfig.json @@ -97,5 +97,7 @@ /* Completeness */ // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } + }, + "include": ["src/**/*"], + "exclude": ["tests/**/*"] } From d80b752d92f2f67d610c8d8f47414d7cd1c224c8 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 3 Aug 2023 20:03:32 +0200 Subject: [PATCH 13/64] vitest --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 7d7a5f2..18f5371 100755 --- a/package.json +++ b/package.json @@ -22,8 +22,8 @@ "scripts": { "start": "node lib/index.js", "dev": "ts-node-dev src/index.ts", - "test": "jest", - "test:coverage": "jest --coverage", + "test": "vitest", + "test:coverage": "vitest --coverage", "lint": "ts-standard", "lint-fix": "ts-standard --fix", "build": "tsc" From 867b015f547ea60dd52e6ee502b4a68a3bf21523 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 3 Aug 2023 20:06:04 +0200 Subject: [PATCH 14/64] main repo files --- .gitignore | 7 ++++++- LICENSE | 0 README.md | 0 3 files changed, 6 insertions(+), 1 deletion(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index 6704566..5e0fe01 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ +# Custom +.vscode +.idea +.DS_Store +lib + # Logs logs *.log @@ -59,7 +65,6 @@ typings/ .rts2_cache_es/ .rts2_cache_umd/ -# Optional REPL history .node_repl_history # Output of 'npm pack' diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 From a3ddd94fe37112ad1d56c0edc8120780df779651 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 3 Aug 2023 20:06:35 +0200 Subject: [PATCH 15/64] state of the art, tests are passing --- src/enums.ts | 0 src/errors.ts | 0 src/filename-reserved-regex.d.ts | 0 src/index.ts | 0 src/splitea.ts | 0 src/types.d.ts | 0 src/utils.ts | 0 tests/Ericsatie.jpg | Bin tests/{splitea.spec.ts => splitea.test.ts} | 1 + tests/{utils.spec.ts => utils.test.ts} | 13 +++++++------ 10 files changed, 8 insertions(+), 6 deletions(-) mode change 100644 => 100755 src/enums.ts mode change 100644 => 100755 src/errors.ts mode change 100644 => 100755 src/filename-reserved-regex.d.ts mode change 100644 => 100755 src/index.ts mode change 100644 => 100755 src/splitea.ts mode change 100644 => 100755 src/types.d.ts mode change 100644 => 100755 src/utils.ts mode change 100644 => 100755 tests/Ericsatie.jpg rename tests/{splitea.spec.ts => splitea.test.ts} (99%) mode change 100644 => 100755 rename tests/{utils.spec.ts => utils.test.ts} (97%) mode change 100644 => 100755 diff --git a/src/enums.ts b/src/enums.ts old mode 100644 new mode 100755 diff --git a/src/errors.ts b/src/errors.ts old mode 100644 new mode 100755 diff --git a/src/filename-reserved-regex.d.ts b/src/filename-reserved-regex.d.ts old mode 100644 new mode 100755 diff --git a/src/index.ts b/src/index.ts old mode 100644 new mode 100755 diff --git a/src/splitea.ts b/src/splitea.ts old mode 100644 new mode 100755 diff --git a/src/types.d.ts b/src/types.d.ts old mode 100644 new mode 100755 diff --git a/src/utils.ts b/src/utils.ts old mode 100644 new mode 100755 diff --git a/tests/Ericsatie.jpg b/tests/Ericsatie.jpg old mode 100644 new mode 100755 diff --git a/tests/splitea.spec.ts b/tests/splitea.test.ts old mode 100644 new mode 100755 similarity index 99% rename from tests/splitea.spec.ts rename to tests/splitea.test.ts index 920a401..4227fcb --- a/tests/splitea.spec.ts +++ b/tests/splitea.test.ts @@ -4,6 +4,7 @@ import { SpliteaError } from '../src/errors' import { Tiles } from '../src/types' import { Mode } from '../src/enums' // import Jimp from 'jimp/*' +import { describe, test, expect } from 'vitest' const imgFolder = path.join(__dirname, '..', 'examples') diff --git a/tests/utils.spec.ts b/tests/utils.test.ts old mode 100644 new mode 100755 similarity index 97% rename from tests/utils.spec.ts rename to tests/utils.test.ts index 79d93bb..e63ad93 --- a/tests/utils.spec.ts +++ b/tests/utils.test.ts @@ -1,15 +1,16 @@ -import Path from 'path' +import path from 'path' import fs from 'fs' import { Data, Extension, Mode } from '../src/enums' import { SpliteaError } from '../src/errors' import { Output, Size, Tiles } from '../src/types' import { isNatural, isSubmultiple, parseData, parseExtension, parseMode, parseName, parseOutput, parsePath, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' +import { describe, test, expect } from 'vitest' -const imgFolder = Path.join(__dirname, '..', 'examples') +const imgFolder = path.join(__dirname, '..', 'examples') const imgTest = { - img: Path.join(imgFolder, 'forestmap.png'), - imgBad: Path.join(imgFolder, 'forestmapp.png'), + img: path.join(imgFolder, 'forestmap.png'), + imgBad: path.join(imgFolder, 'forestmapp.png'), width: 320, height: 224 } @@ -252,13 +253,13 @@ describe('Test Utils Module', () => { let testPath = new Date().getTime().toString() let error = new SpliteaError(`Not exists path ${testPath}`) expect(() => parsePath(testPath)).toThrow(error) - testPath = Path.join(__dirname, new Date().toString()) + testPath = path.join(__dirname, new Date().toString()) error = new SpliteaError(`Not exists path ${testPath}`) expect(() => parsePath(testPath)).toThrow(error) }) test('No write permission path', () => { - const tmpFolder = Path.join(__dirname, new Date().getTime().toString()) + const tmpFolder = path.join(__dirname, new Date().getTime().toString()) fs.mkdirSync(tmpFolder, { mode: 0o444 }) expect(() => parsePath(tmpFolder)).toThrow(SpliteaError) fs.rmdirSync(tmpFolder) From 562413dca0eb3569bb3b5bd86fa47e238cb1f536 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 3 Aug 2023 20:15:40 +0200 Subject: [PATCH 16/64] update github actions --- .github/workflows/node.js.yml | 31 ------------------ .github/workflows/publish.yml | 62 +++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 31 deletions(-) delete mode 100644 .github/workflows/node.js.yml create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml deleted file mode 100644 index 7b69169..0000000 --- a/.github/workflows/node.js.yml +++ /dev/null @@ -1,31 +0,0 @@ -# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - -name: Node.js CI - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -jobs: - build: - - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [12.x, 14.x, 16.x] - # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - - steps: - - uses: actions/checkout@v3 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - cache: 'npm' - - run: npm ci - - run: npm run build --if-present - - run: npm test diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..82d3e02 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,62 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages + +name: publish + +on: push + +jobs: + test: + name: 🧪 Test + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x, 18.x] + + steps: + - name: 👍 Checkout + uses: actions/checkout@v3 + + - name: ❇️ Setup node.js + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + + - name: 📥 Install Dependencies + run: npm install + + - name: 🧑‍🔬 Tests + run: npm run test + + publish: + name: 🚀 Publish + runs-on: ubuntu-latest + needs: test + if: github.ref == 'refs/heads/main' + + strategy: + matrix: + node-version: [16.x, 18.x] + + steps: + - name: 👍 Checkout + uses: actions/checkout@v3 + + - name: ❇️ Setup node.js + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + registry-url: 'https://registry.npmjs.org' + + - name: 📥 Install Dependencies + run: npm install + + - name: 🛠️ Build + run: npm run build + + - name: 🚀 Publish to npm + run: npm publish --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} From 5bb14d586229658c1cecf47c683249e2e679605f Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 3 Aug 2023 20:15:53 +0200 Subject: [PATCH 17/64] removed lint --- package.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/package.json b/package.json index 18f5371..d2ae365 100755 --- a/package.json +++ b/package.json @@ -36,13 +36,5 @@ "ts-standard": "^12.0.2", "typescript": "^5.1.6", "vitest": "^0.34.1" - }, - "eslintConfig": { - "parserOptions": { - "project": "./tsconfig.json" - }, - "extends": [ - "./node_modules/ts-standard/eslintrc.json" - ] } } From 23ee44d75f55e45e4c2786d92794c1c76e1a5f48 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 3 Aug 2023 20:17:41 +0200 Subject: [PATCH 18/64] publish just with node 18 --- .github/workflows/publish.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 82d3e02..2d69365 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -36,10 +36,6 @@ jobs: needs: test if: github.ref == 'refs/heads/main' - strategy: - matrix: - node-version: [16.x, 18.x] - steps: - name: 👍 Checkout uses: actions/checkout@v3 @@ -47,7 +43,7 @@ jobs: - name: ❇️ Setup node.js uses: actions/setup-node@v3 with: - node-version: ${{ matrix.node-version }} + node-version: 18 registry-url: 'https://registry.npmjs.org' - name: 📥 Install Dependencies From 57e7c45bfc3cad8fa66de26bbff5b695fb199e77 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 6 Aug 2023 16:29:15 +0200 Subject: [PATCH 19/64] zod added --- package-lock.json | 16 +++++++++++++++- package.json | 3 ++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index beabb2c..57d9a1d 100755 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "jimp": "^0.22.10" + "jimp": "^0.22.10", + "zod": "^3.21.4" }, "devDependencies": { "ts-node-dev": "^2.0.0", @@ -5783,6 +5784,14 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zod": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", + "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } } }, "dependencies": { @@ -9772,6 +9781,11 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true + }, + "zod": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", + "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==" } } } diff --git a/package.json b/package.json index d2ae365..e36a8f0 100755 --- a/package.json +++ b/package.json @@ -29,7 +29,8 @@ "build": "tsc" }, "dependencies": { - "jimp": "^0.22.10" + "jimp": "^0.22.10", + "zod": "^3.21.4" }, "devDependencies": { "ts-node-dev": "^2.0.0", From 3796174e725123f1a6a4e0108f307d6dcec17722 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 6 Aug 2023 16:29:33 +0200 Subject: [PATCH 20/64] options to editorconfig --- .editorconfig | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ebe51d3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = false +insert_final_newline = false \ No newline at end of file From e21f871b823b83e1f8593bca4714c966a6f9d9fc Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 6 Aug 2023 16:30:06 +0200 Subject: [PATCH 21/64] added zod to project and removed parsers --- src/enums.ts | 20 ------- src/types.d.ts | 45 -------------- src/types.ts | 77 ++++++++++++++++++++++++ src/utils.ts | 156 +------------------------------------------------ 4 files changed, 79 insertions(+), 219 deletions(-) delete mode 100755 src/enums.ts delete mode 100755 src/types.d.ts create mode 100755 src/types.ts diff --git a/src/enums.ts b/src/enums.ts deleted file mode 100755 index f67de8f..0000000 --- a/src/enums.ts +++ /dev/null @@ -1,20 +0,0 @@ - -export enum Mode { - Grid = 'grid', - Vertical = 'vertical', - Horizontal = 'horizontal' -} - -export enum Data { - Buffer = 'buffer', - Path = 'path' -} - -export enum Extension { - JPG = 'jpg', - JPEG = 'jpeg', - PNG = 'png', - BMP = 'bmp', - GIF = 'gif', - TIFF = 'tiff' -} diff --git a/src/types.d.ts b/src/types.d.ts deleted file mode 100755 index 12d5d38..0000000 --- a/src/types.d.ts +++ /dev/null @@ -1,45 +0,0 @@ - -import Jimp from 'jimp/*' -import { Data, Extension, Mode } from './enums' - -export type Image = string | Buffer | Jimp - -export interface Size { - width: number - height: number -} - -/** Tiles - * 1. Slice Mode -> mode => "grid" | "vertical" | "horizontal" - * 2. Options for the slices - * 2.1 Grid tiles -> rows + columns | width + height - * 2.2 Vertical tiles -> rows | height - * 2.3 Horizontal tiles -> columns | width - * 3. Non-repeated tiles -> unique => false (default) | true -*/ - -export interface Tiles { - mode: Mode - rows?: number - columns?: number - width?: number - height?: number - unique?: boolean -} - -/** - * 1. Data to return -> data => "buffer" | "path" - * 2. If data = "path" or you want to store the slices it needs to provide path + name (extension is optional) - * 2.1 Local path to store slices -> path - * 2.2 Name preffix to slices -> name - * 2.3 Extension to store tiles -> extension => "jpg" | "png" | "bmp" | "gif" | "tiff" - **/ - -export interface Output { - data: Data - path?: string - name?: string - extension?: Extension -} - -export type isValidFilename = (filename: string) => boolean diff --git a/src/types.ts b/src/types.ts new file mode 100755 index 0000000..77c21ee --- /dev/null +++ b/src/types.ts @@ -0,0 +1,77 @@ + +import Jimp from 'jimp' +import { z } from 'zod' + +export const BooleanSchema = z.boolean() +export type Boolean = z.infer +export const BooleanOptionalSchema = BooleanSchema.default(false) +export type BooleanOptional = z.infer + +export const StringSchema = z.string() +export type String = z.infer +export const StringOptionalSchema = StringSchema.optional() +export type StringOptional = z.infer + +export const NaturalSchema = z.number().int().nonnegative() +export type Natural = z.infer +export const NaturalOptionalSchema = NaturalSchema.default(0) +export type NaturalOptional = z.infer +/** Tiles --------------------------------------------------------------------- + * 1. Slice Mode -> mode => "grid" | "vertical" | "horizontal" + * 2. Options for the slices + * 2.1 Grid tiles -> rows + columns | width + height + * 2.2 Vertical tiles -> rows | height + * 2.3 Horizontal tiles -> columns | width + * 3. Non-repeated tiles -> unique => false (default) | true +*/ +export const ModeSchema = z.enum(['horizontal', 'vertical', 'grid']) +export type Mode = z.infer + +export const TilesSchema = z.object({ + mode: ModeSchema, + rows: NaturalOptionalSchema, + columns: NaturalOptionalSchema, + width: NaturalOptionalSchema, + height: NaturalOptionalSchema, + unique: BooleanOptionalSchema, +}) +export type Tiles = z.infer +// Modes Parser +export const HorizontalSchema = TilesSchema.pick({ columns: true, width: true }) +export const VerticalSchema = TilesSchema.pick({ rows: true, height: true }) +export const GridSchema = TilesSchema.pick({ rows: true, height: true }) + +/** + * 1. Data to return -> data => "buffer" | "path" + * 2. If data = "path" or you want to store the slices it needs to provide path + name (extension is optional) + * 2.1 Local path to store slices -> path + * 2.2 Name preffix to slices -> name + * 2.3 Extension to store tiles -> extension => "jpg" | "png" | "bmp" | "gif" | "tiff" + **/ +export const DataSchema = z.enum(['buffer', 'path']) +export type Data = z.infer + +export const ExtensionSchema = z.enum(['jpg', 'jpeg', 'png', 'bmp', 'gif', 'tiff']) +export type Extension = z.infer +export const ExtensionOptionalSchema = ExtensionSchema.optional() +export type ExtensionOptional = z.infer + +export const OutputSchema = z.object({ + data: DataSchema, + path: StringOptionalSchema, + name: StringOptionalSchema, + extension: ExtensionOptionalSchema +}) +export type Output = z.infer + +export const SizeSchema = z.object({ + width: NaturalSchema.positive(), + height: NaturalSchema.positive() +}) +export type Size = z.infer + +export const BufferSchema = z.instanceof(Buffer) + +export const JimpSchema = z.instanceof(Jimp) + +export type Image = z.infer diff --git a/src/utils.ts b/src/utils.ts index 06d49ec..0d26741 100755 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,155 +1,3 @@ -import { existsSync, accessSync, constants } from 'fs' -import { Data, Extension, Mode } from './enums' -import { SpliteaError, throwError } from './errors' -import { Size } from './types' +import { NaturalSchema } from "./types" -const isString = (str: any): boolean => typeof str === 'string' || str instanceof String - -export const parseMode = (mode: any): Mode => { - if (Object.values(Mode).includes(mode)) return mode - throw new SpliteaError(`Invalid mode, only ${Mode.Grid}, ${Mode.Horizontal}, ${Mode.Vertical} is permitted`) -} - -export const isNatural = (num: any): boolean => (typeof num === 'number') && (String(num).split('.').length === 1) && (num > 0) - -export const validPairNaturalNumbers = (first: any, second: any): boolean => isNatural(first) && isNatural(second) - -export const isSubmultiple = (numerator: any, denominator: any): boolean => isNatural(numerator) && isNatural(denominator) && isNatural(numerator / denominator) - -export const validPairSubmultiples = (numerator1: any, denominator1: any, numerator2: any, denominator2: any): boolean => isSubmultiple(numerator1, denominator1) && isSubmultiple(numerator2, denominator2) - -export const parseUnique = (tiles: any): boolean => { - if (tiles.unique !== undefined && typeof tiles.unique !== 'boolean') { - throw new SpliteaError('unique property should be boolean, only admits true or false value') - } - return true -} - -const checkModeGrid = (rows: any, columns: any, width: any, height: any, size: Size): void => { - // Are Natural Numbers -> Columns + Rows || Width + Height - if (!(validPairNaturalNumbers(rows, columns) || validPairNaturalNumbers(width, height))) { - throw new SpliteaError('you need to provide two natural numbers, columns + rows or height (px) + width (px)') - } - // Are Submultiples Numbers of Size -> Columns + Rows || Width + Height - if (!(validPairSubmultiples(size.height, rows, size.width, columns) || validPairSubmultiples(size.width, width, size.height, height))) { - throw new SpliteaError(`you need to provide two natural submultiples of ${size.width} and ${size.height}, columns + rows or width (px) + height (px)`) - } -} - -const checkModeHorizontal = (columns: any, width: any, size: Size): void => { - // Are Natural Numbers -> Columns || Width - if (!(isNatural(columns) || isNatural(width))) { - const msg = 'you need to provide one natural number, columns or width (px)' - throw new SpliteaError(msg) - } - // Are Submultiples Numbers of Size -> Columns || Width - if (!(isSubmultiple(size.width, columns) || isSubmultiple(size.width, width))) { - throw new SpliteaError(`you need to provide one natural submultiple of ${size.width}, columns or width (px)`) - } -} - -const checkModeVertical = (rows: any, height: any, size: Size): void => { - // Are Natural Numbers -> Rows || Height - if (!(isNatural(rows) || isNatural(height))) { - const msg = 'you need to provide one natural number, rows or height (px)' - throw new SpliteaError(msg) - } - // Are Submultiples Numbers of Size -> Rows || Height - if (!(isSubmultiple(size.height, rows) || isSubmultiple(size.height, height))) { - throw new SpliteaError(`you need to provide one natural submultiple of ${size.height}, rows or height (px)`) - } -} - -export const parseTiles = (tiles: any, size: Size): boolean => { - const { mode, rows, columns, width, height } = tiles - // Mode - parseMode(mode) - // Mode + Options -> rows, columns, width, height - switch (mode) { - // Mode Grid -> rows + columns || width + height - case Mode.Grid: - checkModeGrid(rows, columns, width, height, size) - break - // Mode horizontal -> Columns || Width - case Mode.Horizontal: - checkModeHorizontal(columns, width, size) - break - // Mode Vertical -> Rows || Height - case Mode.Vertical: - checkModeVertical(rows, height, size) - break - } - // Unique - parseUnique(tiles) - return true -} - -export const parseData = (data: any): boolean => { - const datas = [Data.Buffer, Data.Path] - if (!datas.includes(data)) { - throw new SpliteaError('Invalid output data, it should be "buffer" or "path"') - } - return true -} - -export const parsePath = (path: any): boolean => { - // Check if path is string - if (!isString(path)) { throw new SpliteaError('path needs to be string') } - // Check if path exist - if (!existsSync(path as string | Buffer | URL)) { throw new SpliteaError(`Not exists path ${path as string}`) } - // Check if can write - try { - accessSync(path as string | Buffer | URL, constants.W_OK) - } catch (err) { - throw throwError(err, `Problems parsing path ${String(path)}`) - } - return true -} - -export const parseName = (name: any): boolean => { - // Check if string - if (!isString(name)) { throw new SpliteaError('name needs to be string') } - // Check OS valid filename - // Windows Regex = /^(con|prn|aux|nul|com\d|lpt\d)$/i - const windowsReservedNameRegex = /^(con|prn|aux|nul|com\d|lpt\d)$/ - const invalidWindowsFilename = new RegExp(windowsReservedNameRegex, 'i') - // All OS except Windows Regex = /[<>:"/\\|?*\u0000-\u001F]/g - const filenameReservedRegex = '[<>:"/\\|?*\u0000-\u001F]' - const invalidFilename = new RegExp(filenameReservedRegex, 'g') - if (invalidFilename.test(name as string) || invalidWindowsFilename.test(name as string)) { throw new SpliteaError(`${String(name)} is not a valid filename`) } - return true -} - -export const parseExtension = (extension: any): boolean => { - // Check if string - if (!isString(extension)) { throw new SpliteaError('extension needs to be string') } - // Check if valid extension - const values = Object.values(Extension) - if (!values.includes(extension)) { throw new SpliteaError(`${extension as string} needs to be one of this extensions -> ${values.toString()}`) } - return true -} - -const parseStore = (path: any, name: any, extension: any): boolean => { - // Path - if (path !== undefined) { parsePath(path) } - // Name - parseName(name) - // Extension - if (extension !== undefined) { parseExtension(extension) } - return true -} - -export const parseOutput = (output: any): boolean => { - const { data, path, name, extension } = output - // Data - parseData(data) - // Check if save => data = path - if (data === 'path') { - if (name === undefined) { throw new SpliteaError('"name" is required') } - parseStore(path, name, extension) - // Check if save => data = path || name != undefined - } else if (name !== undefined) { - parseStore(path, name, extension) - } - return true -} +export const isSubmultiple = (numerator: number, denominator: number): boolean => NaturalSchema.multipleOf(denominator).safeParse(numerator).success From 5b96d30df0f8bd049015c2c062336b19b7db2f35 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 6 Aug 2023 16:30:56 +0200 Subject: [PATCH 22/64] reorder files and check tiles completed --- src/image/index.ts | 47 +++++++++++ src/index.ts | 19 ----- src/output/index.ts | 71 +++++++++++++++++ src/splitea.ts | 172 ++++------------------------------------ src/tiles/grid.ts | 50 ++++++++++++ src/tiles/horizontal.ts | 40 ++++++++++ src/tiles/index.ts | 38 +++++++++ src/tiles/unique.ts | 19 +++++ src/tiles/vertical.ts | 40 ++++++++++ 9 files changed, 320 insertions(+), 176 deletions(-) create mode 100644 src/image/index.ts create mode 100644 src/output/index.ts create mode 100644 src/tiles/grid.ts create mode 100644 src/tiles/horizontal.ts create mode 100644 src/tiles/index.ts create mode 100644 src/tiles/unique.ts create mode 100644 src/tiles/vertical.ts diff --git a/src/image/index.ts b/src/image/index.ts new file mode 100644 index 0000000..1ac4be2 --- /dev/null +++ b/src/image/index.ts @@ -0,0 +1,47 @@ +import Jimp from "jimp" +import { SpliteaError, throwError } from "../errors" +import { Image, Size } from "../types" + + +export const getSplitImage = (image: Jimp, x: number, y: number, w: number, h: number): Jimp => { + try { + const { width, height } = image.bitmap + if (x === 0 && w === width && y === 0 && h === height) return image + if ((x + w) > width) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max x value is ${width - 1}`) + if ((y + h) > height) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max y value is ${height - 1}`) + return image.clone().crop(x, y, w, h) + } catch (error) { + throw throwError(error, 'Problem spliting image') + } +} + +export const readImage = async (image: Image): Promise<[Jimp, Size]> => { + try { + const img = await Jimp.read(image) + const size: Size = { width: img.bitmap.width, height: img.bitmap.height } + return [img, size] + } catch (error) { + throw throwError(error, `Error reading image ${image}`) + } +} + +// const writeImage = (image: Jimp, path: string, name: string, index: number, extension: string): string => { +// const filename = `${name}_${index}_${new Date().getTime()}${extension}` +// image.write(filename) +// return filename +// } + +export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { + try { + const distance = Jimp.distance(img1, img2) + const diff = Jimp.diff(img1, img2) + if (distance < 0.15 && diff.percent < 0.15) { + console.log(`distance = ${distance} | diff = ${diff.percent}`) + return true + } + } catch (error) { + console.log(error) + throwError(error, 'Error comparing images') + } + return false +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index e9832c2..deef16f 100755 --- a/src/index.ts +++ b/src/index.ts @@ -1,22 +1,3 @@ -// import path from 'path' -// import { Mode } from './enums' import { Splitea } from './splitea' -// import { Tiles } from './types' - -// const IMG = path.join(__dirname, '..', 'examples', 'mapabosque.png') -// console.log(IMG) -// const TILES: Tiles = { -// mode: Mode.Grid -// } - -// // Splitea.getSize(IMG) -// // .then(size => { -// // console.log(`width: ${size.width}\nheight: ${size.height}`) -// // }) -// // .catch(err => console.log(err)) - -// Splitea(IMG, TILES) -// .then(res => console.log(res)) -// .catch(error => console.error(error)) export default Splitea diff --git a/src/output/index.ts b/src/output/index.ts new file mode 100644 index 0000000..73697bc --- /dev/null +++ b/src/output/index.ts @@ -0,0 +1,71 @@ +import { SpliteaError } from "../errors" + +export const parseData = (data: any): boolean => { + const datas = [Data.Buffer, Data.Path] + if (!datas.includes(data)) { + throw new SpliteaError('Invalid output data, it should be "buffer" or "path"') + } + return true +} + +export const parsePath = (path: any): boolean => { + // Check if path is string + if (!isString(path)) { throw new SpliteaError('path needs to be string') } + // Check if path exist + if (!existsSync(path as string | Buffer | URL)) { throw new SpliteaError(`Not exists path ${path as string}`) } + // Check if can write + try { + accessSync(path as string | Buffer | URL, constants.W_OK) + } catch (err) { + throw throwError(err, `Problems parsing path ${String(path)}`) + } + return true +} + +export const parseName = (name: any): boolean => { + // Check if string + if (!isString(name)) { throw new SpliteaError('name needs to be string') } + // Check OS valid filename + // Windows Regex = /^(con|prn|aux|nul|com\d|lpt\d)$/i + const windowsReservedNameRegex = /^(con|prn|aux|nul|com\d|lpt\d)$/ + const invalidWindowsFilename = new RegExp(windowsReservedNameRegex, 'i') + // All OS except Windows Regex = /[<>:"/\\|?*\u0000-\u001F]/g + const filenameReservedRegex = '[<>:"/\\|?*\u0000-\u001F]' + const invalidFilename = new RegExp(filenameReservedRegex, 'g') + if (invalidFilename.test(name as string) || invalidWindowsFilename.test(name as string)) { throw new SpliteaError(`${String(name)} is not a valid filename`) } + return true +} + +export const parseExtension = (extension: any): boolean => { + // Check if string + if (!isString(extension)) { throw new SpliteaError('extension needs to be string') } + // Check if valid extension + const values = Object.values(Extension) + if (!values.includes(extension)) { throw new SpliteaError(`${extension as string} needs to be one of this extensions -> ${values.toString()}`) } + return true +} + +const parseStore = (path: any, name: any, extension: any): boolean => { + // Path + if (path !== undefined) { parsePath(path) } + // Name + parseName(name) + // Extension + if (extension !== undefined) { parseExtension(extension) } + return true +} + +export const parseOutput = (output: any): boolean => { + const { data, path, name, extension } = output + // Data + parseData(data) + // Check if save => data = path + if (data === 'path') { + if (name === undefined) { throw new SpliteaError('"name" is required') } + parseStore(path, name, extension) + // Check if save => data = path || name != undefined + } else if (name !== undefined) { + parseStore(path, name, extension) + } + return true +} \ No newline at end of file diff --git a/src/splitea.ts b/src/splitea.ts index 0e8f351..3fb9ad2 100755 --- a/src/splitea.ts +++ b/src/splitea.ts @@ -1,167 +1,25 @@ import Jimp from 'jimp' -import { Mode } from './enums' -import { SpliteaError, throwError } from './errors' -import { Size, Tiles, Output, Image } from './types' -import { isNatural, parseOutput, parseTiles } from './utils' +import { throwError } from './errors' +import { Tiles, Output, Image } from './types' +import { readImage } from './image' +import { getTiles, checkTiles } from './tiles' +import { parseOutput } from './output' -export const readImage = async (image: string): Promise<[Jimp, Size]> => { - try { - const img = await Jimp.read(image) - const size: Size = { width: img.bitmap.width, height: img.bitmap.height } - return [img, size] - } catch (error) { - throw throwError(error, `Error reading image ${image}`) - } -} - -// const writeImage = (image: Jimp, path: string, name: string, index: number, extension: string): string => { -// const filename = `${name}_${index}_${new Date().getTime()}${extension}` -// image.write(filename) -// return filename -// } - -export const getSplitImage = (image: Jimp, x: number, y: number, w: number, h: number): Jimp => { - try { - const { width, height } = image.bitmap - if (x === 0 && w === width && y === 0 && h === height) return image - if ((x + w) > width) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max x value is ${width - 1}`) - if ((y + h) > height) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max y value is ${height - 1}`) - return image.clone().crop(x, y, w, h) - } catch (error) { - throw throwError(error, 'Problem spliting image') - } -} -export const getHorizontalTiles = (image: Jimp, size: Size, tilesWidth: number, tilesColumns: number): Image[] => { - if (tilesWidth === 0 && tilesColumns === 0) throw new SpliteaError('It needs to provide "columns" or "width"') - if (tilesWidth > 0 && tilesColumns > 0) throw new SpliteaError('It needs to provide "columns" or "width" but not both of them') +export const Splitea = async (image: Image, tiles: Tiles, output?: Output): Promise => { try { - const { width, height } = size - const [w, tilesNumber] = tilesWidth === 0 - ? [width / tilesColumns, tilesColumns] - : [tilesWidth, width / tilesWidth] - const h = height - const y = 0 - return new Array(tilesNumber).map((_, index) => { - const x = w * index - return getSplitImage(image, x, y, w, h) - }) - } catch (error) { - throw throwError(error, 'Problem with getting horizontal slices') - } -} - -export const getVerticalTiles = (image: Jimp, size: Size, tilesHeight: number, tilesRows: number): Image[] => { - if (tilesHeight === 0 && tilesRows === 0) throw new SpliteaError('It needs to provide "rows" or "heigth"') - if (tilesHeight > 0 && tilesRows > 0) throw new SpliteaError('It needs to provide "rows" or "heigth" but not both of them') - try { - const { width, height } = size - const w = width - const [h, tilesNumber] = tilesHeight === 0 - ? [height / tilesRows, tilesRows] - : [tilesHeight, height / tilesHeight] - const x = 0 - return new Array(tilesNumber).map((_, index) => { - const y = h * index - return getSplitImage(image, x, y, w, h) - }) - } catch (error) { - throw throwError(error, 'Problem with getting vertical slices') - } -} - -const validGridTiles = (tilesWidth: number, tilesHeight: number, tilesRows: number, tilesColumns: number): void => { - if (tilesWidth === 0 && tilesHeight === 0 && tilesRows === 0 && tilesColumns === 0) throw new SpliteaError('It needs to provide "rows & columns" or "width & height"') - if (tilesWidth > 0 && tilesHeight > 0 && tilesRows > 0 && tilesColumns > 0) throw new SpliteaError('It needs to provide "rows & columns" or "width & height" but not both of them') - if (tilesWidth > 0 && tilesColumns > 0) throw new SpliteaError('It needs to provide "columns" or "width" but not both of them') - if (tilesHeight > 0 && tilesRows > 0) throw new SpliteaError('It needs to provide "rows" or "height" but not both of them') - if (tilesWidth === 0 && tilesHeight > 0) throw new SpliteaError('Missing "width"') - if (tilesWidth > 0 && tilesHeight === 0) throw new SpliteaError('Missing "height"') - if (tilesRows === 0 && tilesColumns > 0) throw new SpliteaError('Missing "rows"') - if (tilesRows > 0 && tilesColumns === 0) throw new SpliteaError('Missing "columns"') -} - -export const getGridTiles = (image: Jimp, size: Size, tilesWidth: number, tilesHeight: number, tilesRows: number, tilesColumns: number): Image[] => { - validGridTiles(tilesWidth, tilesHeight, tilesRows, tilesColumns) - try { - const { width, height } = size - const [w, tilesNumberX] = tilesWidth === 0 - ? [width / tilesColumns, tilesColumns] - : [tilesWidth, width / tilesWidth] - const [h, tilesNumberY] = tilesHeight === 0 - ? [height / tilesRows, tilesRows] - : [tilesHeight, height / tilesHeight] - const arrayX = new Array(tilesNumberX).fill(1) - const arrayY = new Array(tilesNumberY).fill(1) - return arrayX.map((_x, indexX) => { - const x = w * indexX - return arrayY.map((_y, indexY) => { - const y = h * indexY - return getSplitImage(image, x, y, w, h) - }) - }).flat() - } catch (error) { - throw throwError(error, 'Problem with getting grid slices') - } -} - -export const getTiles = (img: Jimp, size: Size, tiles: Tiles): Image[] => { - if (tiles?.mode !== undefined) { - const width = (!isNatural(tiles.width)) ? 0 : tiles.width as number - const height = (!isNatural(tiles.height)) ? 0 : tiles.height as number - const columns = (!isNatural(tiles.columns)) ? 0 : tiles.columns as number - const rows = (!isNatural(tiles.rows)) ? 0 : tiles.rows as number - // Horizontal - if (tiles.mode === Mode.Horizontal) return getHorizontalTiles(img, size, width, columns) - // Vertical - if (tiles.mode === Mode.Vertical) return getVerticalTiles(img, size, height, rows) - // Grid - if (tiles.mode === Mode.Grid) return getGridTiles(img, size, width, height, rows, columns) - // Error - throw new SpliteaError('Invalid mode') - } - throw new SpliteaError('No mode defined') -} - -export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { - try { - const distance = Jimp.distance(img1, img2) - const diff = Jimp.diff(img1, img2) - if (distance < 0.15 && diff.percent < 0.15) { - console.log(`distance = ${distance} | diff = ${diff.percent}`) - return true - } - } catch (error) { - console.log(error) - throwError(error, 'Error comparing images') - } - return false -} - -export const uniqueTiles = (imgs: Jimp[]): Jimp[] => { - if (imgs.length === 0) return [] - if (imgs.length === 1) return [imgs[0]] - const unique = imgs[0] - const arr = imgs.slice(1).filter(elem => !areEqualImages(unique, elem)) - return [unique, ...uniqueTiles(arr)] -} - -export const Splitea = async (image: string, tiles: Tiles, output?: Output): Promise => { - try { - // Read image + // 1. Check arguments (Image) + Get the image const [img, size] = await readImage(image) + // 2. Check arguments -> Tiles, Outputs + checkTiles(tiles, size) + parseOutput(output) + // 3. Get the tiles + const newTiles = getTiles(img, size, tiles) as Jimp[] + // 4. Get the output + // 5. Return solution // Check tiles options - parseTiles(tiles, size) // Check output options - parseOutput(output) - // Get tiles - const tmpSlices = getTiles(img, size, tiles) as Jimp[] - // Remove similars - const uniqueSlices = (tiles?.unique === true) ? uniqueTiles(tmpSlices) : tmpSlices - // Store tiles - // if (output) - // Return tiles - const slices = uniqueSlices + const slices = newTiles return await Promise.resolve(slices) } catch (error) { throw throwError(error, 'Problems with Splitea') diff --git a/src/tiles/grid.ts b/src/tiles/grid.ts new file mode 100644 index 0000000..c16e5d6 --- /dev/null +++ b/src/tiles/grid.ts @@ -0,0 +1,50 @@ +import Jimp from "jimp" +import { Image, Size } from "../types" +import { getSplitImage } from "../image" +import { SpliteaError, throwError } from "../errors" +import { isSubmultiple } from "../utils" + + +export const checkModeGrid = (rows: number, columns: number, width: number, height: number, size: Size): void => { + // At least Rows + Columns or Width + Height is non zero + if (rows === 0 && columns === 0 && width === 0 && height === 0) { + const msg = 'you need to provide two non zero natural numbers, columns + rows or height (px) + width (px)' + throw new SpliteaError(msg) + } + // Image Width + Height are multiple of Columns + Rows + if ( (rows > 0 && columns > 0) && !(isSubmultiple(size.height, rows) && isSubmultiple(size.width, columns)) ) { + let msg = `rows (${rows}) have to be a submultiple of ${size.height} px\n` + msg += `columns (${columns}) have to be a submultiple of ${size.width} px` + throw new SpliteaError(msg) + } + // Image Width + Height are multiple of Width + Height + if ( (width > 0 && height > 0) && !(isSubmultiple(size.width, width) && isSubmultiple(size.height, height)) ) { + let msg = `width (${width}) have to be a submultiple of ${size.width} px\n` + msg += `height (${height}) have to be a submultiple of ${size.height} px` + throw new SpliteaError(msg) + } +} + +export const getGridTiles = (image: Jimp, size: Size, tilesWidth: number, tilesHeight: number, tilesRows: number, tilesColumns: number): Image[] => { + validGridTiles(tilesWidth, tilesHeight, tilesRows, tilesColumns) + try { + const { width, height } = size + const [w, tilesNumberX] = tilesWidth === 0 + ? [width / tilesColumns, tilesColumns] + : [tilesWidth, width / tilesWidth] + const [h, tilesNumberY] = tilesHeight === 0 + ? [height / tilesRows, tilesRows] + : [tilesHeight, height / tilesHeight] + const arrayX = new Array(tilesNumberX).fill(1) + const arrayY = new Array(tilesNumberY).fill(1) + return arrayX.map((_x, indexX) => { + const x = w * indexX + return arrayY.map((_y, indexY) => { + const y = h * indexY + return getSplitImage(image, x, y, w, h) + }) + }).flat() + } catch (error) { + throw throwError(error, 'Problem with getting grid slices') + } +} \ No newline at end of file diff --git a/src/tiles/horizontal.ts b/src/tiles/horizontal.ts new file mode 100644 index 0000000..8fc843c --- /dev/null +++ b/src/tiles/horizontal.ts @@ -0,0 +1,40 @@ +import Jimp from "jimp" +import { Image, Size } from "../types" +import { SpliteaError, throwError } from "../errors" +import { getSplitImage } from "../image" +import { isSubmultiple } from "../utils" + +export const checkModeHorizontal = (columns: number, width: number, size: Size): void => { + // At least Columns or Width is non zero + if (columns === 0 && width === 0) { + const msg = 'you need to provide one natural number, columns or width (px)' + throw new SpliteaError(msg) + } + // Image Width is multiple of Columns + if (columns > 0 && !isSubmultiple(size.width, columns)) { + throw new SpliteaError(`columns (${columns}) have to be a submultiple of ${size.width} px`) + } + // Image Width is multiple of Width + if (width > 0 && !isSubmultiple(size.width, width)) { + throw new SpliteaError(`width (${width}px) have to be a submultiple of ${size.width} px`) + } +} + +export const getHorizontalTiles = (image: Jimp, size: Size, tilesWidth: number, tilesColumns: number): Image[] => { + if (tilesWidth === 0 && tilesColumns === 0) throw new SpliteaError('It needs to provide "columns" or "width"') + if (tilesWidth > 0 && tilesColumns > 0) throw new SpliteaError('It needs to provide "columns" or "width" but not both of them') + try { + const { width, height } = size + const [w, tilesNumber] = tilesWidth === 0 + ? [width / tilesColumns, tilesColumns] + : [tilesWidth, width / tilesWidth] + const h = height + const y = 0 + return new Array(tilesNumber).map((_, index) => { + const x = w * index + return getSplitImage(image, x, y, w, h) + }) + } catch (error) { + throw throwError(error, 'Problem with getting horizontal slices') + } +} \ No newline at end of file diff --git a/src/tiles/index.ts b/src/tiles/index.ts new file mode 100644 index 0000000..96038a0 --- /dev/null +++ b/src/tiles/index.ts @@ -0,0 +1,38 @@ +import Jimp from "jimp" +import { Image, Mode, ModeSchema, Size, Tiles, TilesSchema } from "../types" +import { checkModeHorizontal, getHorizontalTiles } from "./horizontal" +import { checkModeVertical, getVerticalTiles } from "./vertical" +import { checkModeGrid, getGridTiles } from "./grid" +import { SpliteaError } from "../errors" + +const checkMode = (mode: Mode) => ModeSchema.parse(mode) + +export const checkTiles = (tiles: Tiles, size: Size): void => { + const { mode, rows, columns, width, height } = TilesSchema.parse(tiles) + // Mode + checkMode(mode) + // Mode horizontal -> Columns || Width + if ( mode === 'horizontal') { checkModeHorizontal(columns, width, size) } + // Mode Vertical -> Rows || Height + else if (mode === 'vertical') { checkModeVertical(rows, height, size) } + // Mode Grid -> rows + columns || width + height + else if (mode === 'grid') { checkModeGrid(rows, columns, width, height, size) } +} + +export const getTiles = (img: Jimp, size: Size, tiles: Tiles): Image[] => { + if (tiles?.mode !== undefined) { + let tmpSlices: Image[] = [] + const { width, height, columns, rows } = tiles + // Horizontal + if (tiles.mode === 'horizontal') { tmpSlices = getHorizontalTiles(img, size, width, columns) } + // Vertical + if (tiles.mode === 'vertical') { tmpSlices = getVerticalTiles(img, size, height, rows) } + // Grid + if (tiles.mode === 'grid') { tmpSlices = getGridTiles(img, size, width, height, rows, columns) } + // Remove similars + if (tmpSlices.length > 0) return (tiles.unique) ? uniqueTiles(tmpSlices as Jimp[]) : tmpSlices + // Error + throw new SpliteaError('Invalid mode') + } + throw new SpliteaError('No mode defined') +} diff --git a/src/tiles/unique.ts b/src/tiles/unique.ts new file mode 100644 index 0000000..7ba2540 --- /dev/null +++ b/src/tiles/unique.ts @@ -0,0 +1,19 @@ +import Jimp from "jimp" +import { SpliteaError } from "../errors" +import { areEqualImages } from "../image" + + +export const parseUnique = (tiles: any): boolean => { + if (tiles.unique !== undefined && typeof tiles.unique !== 'boolean') { + throw new SpliteaError('unique property should be boolean, only admits true or false value') + } + return true +} + +export const uniqueTiles = (imgs: Jimp[]): Jimp[] => { + if (imgs.length === 0) return [] + if (imgs.length === 1) return [structuredClone(imgs[0])] + const unique = imgs[0] + const arr = imgs.slice(1).filter(elem => !areEqualImages(unique, elem)) + return [unique, ...uniqueTiles(arr)] +} diff --git a/src/tiles/vertical.ts b/src/tiles/vertical.ts new file mode 100644 index 0000000..48ac086 --- /dev/null +++ b/src/tiles/vertical.ts @@ -0,0 +1,40 @@ +import Jimp from "jimp" +import { Image, Size } from "../types" +import { SpliteaError, throwError } from "../errors" +import { getSplitImage } from "../image" +import { isSubmultiple } from "../utils" + +export const checkModeVertical = (rows: number, height: number, size: Size): void => { + // At least Rows or Height is non zero + if (rows === 0 && height === 0) { + const msg = 'you need to provide one natural number, rows or height (px)' + throw new SpliteaError(msg) + } + // Image Height is multiple of Rows + if (rows > 0 && !isSubmultiple(size.height, rows)) { + throw new SpliteaError(`rows (${rows}) have to be a submultiple of ${size.height} px`) + } + // Image Height is multiple of Height + if (height > 0 && !isSubmultiple(size.height, height)) { + throw new SpliteaError(`height (${height}px) submultiple of ${size.height} px`) + } +} + +export const getVerticalTiles = (image: Jimp, size: Size, tilesHeight: number, tilesRows: number): Image[] => { + if (tilesHeight === 0 && tilesRows === 0) throw new SpliteaError('It needs to provide "rows" or "heigth"') + if (tilesHeight > 0 && tilesRows > 0) throw new SpliteaError('It needs to provide "rows" or "heigth" but not both of them') + try { + const { width, height } = size + const w = width + const [h, tilesNumber] = tilesHeight === 0 + ? [height / tilesRows, tilesRows] + : [tilesHeight, height / tilesHeight] + const x = 0 + return new Array(tilesNumber).map((_, index) => { + const y = h * index + return getSplitImage(image, x, y, w, h) + }) + } catch (error) { + throw throwError(error, 'Problem with getting vertical slices') + } +} \ No newline at end of file From 16961151f52cf6a0cbc806b90b8bddae481e3b91 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 6 Aug 2023 18:25:47 +0200 Subject: [PATCH 23/64] checktiles tested --- src/splitea.ts | 2 +- src/tiles/horizontal.ts | 9 ++++- src/tiles/vertical.ts | 9 ++++- src/types.ts | 9 +++-- tests/tiles/grid.test.ts | 71 ++++++++++++++++++++++++++++++++++ tests/tiles/horizontal.test.ts | 35 +++++++++++++++++ tests/tiles/vertical.test.ts | 35 +++++++++++++++++ 7 files changed, 162 insertions(+), 8 deletions(-) create mode 100644 tests/tiles/grid.test.ts create mode 100644 tests/tiles/horizontal.test.ts create mode 100644 tests/tiles/vertical.test.ts diff --git a/src/splitea.ts b/src/splitea.ts index 3fb9ad2..4c9ffb1 100755 --- a/src/splitea.ts +++ b/src/splitea.ts @@ -14,7 +14,7 @@ export const Splitea = async (image: Image, tiles: Tiles, output?: Output): Prom checkTiles(tiles, size) parseOutput(output) // 3. Get the tiles - const newTiles = getTiles(img, size, tiles) as Jimp[] + const newTiles = getTiles(img, size, tiles) // 4. Get the output // 5. Return solution // Check tiles options diff --git a/src/tiles/horizontal.ts b/src/tiles/horizontal.ts index 8fc843c..476603d 100644 --- a/src/tiles/horizontal.ts +++ b/src/tiles/horizontal.ts @@ -1,15 +1,20 @@ import Jimp from "jimp" -import { Image, Size } from "../types" +import { HorizontalTiles, Image, Size } from "../types" import { SpliteaError, throwError } from "../errors" import { getSplitImage } from "../image" import { isSubmultiple } from "../utils" -export const checkModeHorizontal = (columns: number, width: number, size: Size): void => { +export const checkHorizontalTiles = (tiles: HorizontalTiles, size: Size): void => { + const { columns, width } = tiles // At least Columns or Width is non zero if (columns === 0 && width === 0) { const msg = 'you need to provide one natural number, columns or width (px)' throw new SpliteaError(msg) } + // Just Columns or Width but not both + if (columns > 0 && width > 0) { + throw new SpliteaError(`You have to enter columns or width, but not both`) + } // Image Width is multiple of Columns if (columns > 0 && !isSubmultiple(size.width, columns)) { throw new SpliteaError(`columns (${columns}) have to be a submultiple of ${size.width} px`) diff --git a/src/tiles/vertical.ts b/src/tiles/vertical.ts index 48ac086..1eabf8b 100644 --- a/src/tiles/vertical.ts +++ b/src/tiles/vertical.ts @@ -1,15 +1,20 @@ import Jimp from "jimp" -import { Image, Size } from "../types" +import { Image, Size, VerticalTiles } from "../types" import { SpliteaError, throwError } from "../errors" import { getSplitImage } from "../image" import { isSubmultiple } from "../utils" -export const checkModeVertical = (rows: number, height: number, size: Size): void => { +export const checkVerticalTiles = (tiles: VerticalTiles, size: Size): void => { + const { rows, height } = tiles // At least Rows or Height is non zero if (rows === 0 && height === 0) { const msg = 'you need to provide one natural number, rows or height (px)' throw new SpliteaError(msg) } + // Just Rows or Height but not both + if (rows > 0 && height > 0) { + throw new SpliteaError(`You have to enter rows or height, but not both`) + } // Image Height is multiple of Rows if (rows > 0 && !isSubmultiple(size.height, rows)) { throw new SpliteaError(`rows (${rows}) have to be a submultiple of ${size.height} px`) diff --git a/src/types.ts b/src/types.ts index 77c21ee..1968985 100755 --- a/src/types.ts +++ b/src/types.ts @@ -37,9 +37,12 @@ export const TilesSchema = z.object({ }) export type Tiles = z.infer // Modes Parser -export const HorizontalSchema = TilesSchema.pick({ columns: true, width: true }) -export const VerticalSchema = TilesSchema.pick({ rows: true, height: true }) -export const GridSchema = TilesSchema.pick({ rows: true, height: true }) +export const HorizontalTilesSchema = TilesSchema.pick({ columns: true, width: true }) +export type HorizontalTiles = z.infer +export const VerticalTilesSchema = TilesSchema.pick({ rows: true, height: true }) +export type VerticalTiles = z.infer +export const GridTilesSchema = TilesSchema.omit({ mode: true, unique: true }) +export type GridTiles = z.infer /** * 1. Data to return -> data => "buffer" | "path" diff --git a/tests/tiles/grid.test.ts b/tests/tiles/grid.test.ts new file mode 100644 index 0000000..4085be7 --- /dev/null +++ b/tests/tiles/grid.test.ts @@ -0,0 +1,71 @@ +import { describe, test, expect } from 'vitest' +import { GridTiles, Size } from '../../src/types' +import { SpliteaError } from '../../src/errors' +import { checkGridTiles } from '../../src/tiles/grid' + +describe('Grid tiles', () => { + test('checkGridTiles', () => { + const size: Size = { width: 10, height: 15 } + const tiles: GridTiles = {} as GridTiles + // Not data + tiles.rows = 0 + tiles.columns = 0 + tiles.width = 0 + tiles.height = 0 + expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) + // Just rows + columns -> width and height must be 0 + tiles.rows = 1 + tiles.columns = 1 + tiles.width = 0 + tiles.height = 1 + expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) + tiles.rows = 1 + tiles.columns = 1 + tiles.width = 1 + tiles.height = 0 + expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) + // Just width + height -> rows and columns must be 0 + tiles.rows = 1 + tiles.columns = 0 + tiles.width = 1 + tiles.height = 1 + expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) + tiles.rows = 0 + tiles.columns = 1 + tiles.width = 1 + tiles.height = 1 + expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) + // Just rows + columns -> must be submultiple of height + width + tiles.rows = 3 + tiles.columns = 3 + tiles.width = 0 + tiles.height = 0 + expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) + tiles.rows = 2 + tiles.columns = 3 + tiles.width = 0 + tiles.height = 0 + expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) + tiles.rows = 3 + tiles.columns = 2 + tiles.width = 0 + tiles.height = 0 + expect(() => checkGridTiles(tiles, size)).not.toThrowError(SpliteaError) + // Just width + height -> must be submultiple of width + height + tiles.rows = 0 + tiles.columns = 0 + tiles.width = 3 + tiles.height = 3 + expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) + tiles.rows = 0 + tiles.columns = 0 + tiles.width = 2 + tiles.height = 2 + expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) + tiles.rows = 0 + tiles.columns = 0 + tiles.width = 2 + tiles.height = 3 + expect(() => checkGridTiles(tiles, size)).not.toThrowError(SpliteaError) + }) +}) \ No newline at end of file diff --git a/tests/tiles/horizontal.test.ts b/tests/tiles/horizontal.test.ts new file mode 100644 index 0000000..6dea9ed --- /dev/null +++ b/tests/tiles/horizontal.test.ts @@ -0,0 +1,35 @@ +import { describe, test, expect } from 'vitest' +import { HorizontalTiles, Size } from '../../src/types' +import { SpliteaError } from '../../src/errors' +import { checkHorizontalTiles } from '../../src/tiles/horizontal' + +describe('Horizontal tiles', () => { + test('checkHorizontalTiles', () => { + const size: Size = { width: 10, height: 15 } + const tiles: HorizontalTiles = {} as HorizontalTiles + // Not data + tiles.columns = 0 + tiles.width = 0 + expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) + // Not both data + tiles.columns = 3 + tiles.width = 4 + expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) + // Invalid columns + tiles.columns = 3 + tiles.width = 0 + expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) + // Valid columns + tiles.columns = 2 + tiles.width = 0 + expect(() => checkHorizontalTiles(tiles, size)).not.toThrowError(SpliteaError) + // Invalid width + tiles.columns = 0 + tiles.width = 4 + expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) + // Valid columns + tiles.columns = 0 + tiles.width = 5 + expect(() => checkHorizontalTiles(tiles, size)).not.toThrowError(SpliteaError) + }) +}) \ No newline at end of file diff --git a/tests/tiles/vertical.test.ts b/tests/tiles/vertical.test.ts new file mode 100644 index 0000000..b9b0fce --- /dev/null +++ b/tests/tiles/vertical.test.ts @@ -0,0 +1,35 @@ +import { describe, test, expect } from 'vitest' +import { Size, VerticalTiles } from '../../src/types' +import { SpliteaError } from '../../src/errors' +import { checkVerticalTiles } from '../../src/tiles/vertical' + +describe('Vertical tiles', () => { + test('checkVerticalTiles', () => { + const size: Size = { width: 10, height: 15 } + const tiles: VerticalTiles = {} as VerticalTiles + // Not data + tiles.rows = 0 + tiles.height = 0 + expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) + // Not both data + tiles.rows = 3 + tiles.height = 5 + expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) + // Invalid rows + tiles.rows = 2 + tiles.height = 0 + expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) + // Valid rows + tiles.rows = 3 + tiles.height = 0 + expect(() => checkVerticalTiles(tiles, size)).not.toThrowError(SpliteaError) + // Invalid height + tiles.rows = 0 + tiles.height = 4 + expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) + // Valid rows + tiles.rows = 0 + tiles.height = 5 + expect(() => checkVerticalTiles(tiles, size)).not.toThrowError(SpliteaError) + }) +}) \ No newline at end of file From 1e0c9e163c868ad90d2db53156180d514cb696ec Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 6 Aug 2023 20:15:24 +0200 Subject: [PATCH 24/64] refactor testing --- src/tiles/grid.ts | 43 +++++++++++++++++++++++++++------- src/tiles/horizontal.ts | 4 ++-- src/tiles/index.ts | 18 +++++++------- src/tiles/vertical.ts | 4 ++-- tests/tiles/grid.test.ts | 23 ++++++++++-------- tests/tiles/horizontal.test.ts | 26 +++++++++++--------- tests/tiles/vertical.test.ts | 26 +++++++++++--------- 7 files changed, 91 insertions(+), 53 deletions(-) diff --git a/src/tiles/grid.ts b/src/tiles/grid.ts index c16e5d6..00a372b 100644 --- a/src/tiles/grid.ts +++ b/src/tiles/grid.ts @@ -1,24 +1,51 @@ import Jimp from "jimp" -import { Image, Size } from "../types" +import { GridTiles, Image, Size } from "../types" import { getSplitImage } from "../image" -import { SpliteaError, throwError } from "../errors" +import { SpliteaError, ThrowSpliteaError } from "../errors" import { isSubmultiple } from "../utils" - -export const checkModeGrid = (rows: number, columns: number, width: number, height: number, size: Size): void => { - // At least Rows + Columns or Width + Height is non zero +const checkNonZero = (tiles: GridTiles): void => { + const { rows, columns, width, height } = tiles if (rows === 0 && columns === 0 && width === 0 && height === 0) { const msg = 'you need to provide two non zero natural numbers, columns + rows or height (px) + width (px)' throw new SpliteaError(msg) } +} + +const checkRowsColumsOrWidthHeight = (tiles: GridTiles): void => { + const { rows, columns, width, height } = tiles + // Just Rows or Height but not both + if (rows > 0 && height > 0) { + throw new SpliteaError(`You have to enter rows or height, but not both`) + } + // Just Columns or Width but not both + if (columns > 0 && width > 0) { + throw new SpliteaError(`You have to enter columns or width, but not both`) + } + // Just Rows + Columns + if ((rows > 0 && columns > 0) && (width > 0 || height > 0)) { + throw new SpliteaError(`If you entered rows + columns, width and height don't have to be entered`) + } + // Just Width + Height + if ((width > 0 && height > 0) && (rows > 0 || columns > 0)) { + throw new SpliteaError(`If you entered width + height, rows and columns don't have to be entered`) + } +} + +export const checkGridTiles = (tiles: GridTiles, size: Size): void => { + const { rows, columns, width, height } = tiles + // At least Rows + Columns or Width + Height is non zero + checkNonZero(tiles) + // Just Rows + Columns or Width + Height but bot both + checkRowsColumsOrWidthHeight(tiles) // Image Width + Height are multiple of Columns + Rows - if ( (rows > 0 && columns > 0) && !(isSubmultiple(size.height, rows) && isSubmultiple(size.width, columns)) ) { + if ((rows > 0 && columns > 0) && !(isSubmultiple(size.height, rows) && isSubmultiple(size.width, columns))) { let msg = `rows (${rows}) have to be a submultiple of ${size.height} px\n` msg += `columns (${columns}) have to be a submultiple of ${size.width} px` throw new SpliteaError(msg) } // Image Width + Height are multiple of Width + Height - if ( (width > 0 && height > 0) && !(isSubmultiple(size.width, width) && isSubmultiple(size.height, height)) ) { + if ((width > 0 && height > 0) && !(isSubmultiple(size.width, width) && isSubmultiple(size.height, height))) { let msg = `width (${width}) have to be a submultiple of ${size.width} px\n` msg += `height (${height}) have to be a submultiple of ${size.height} px` throw new SpliteaError(msg) @@ -45,6 +72,6 @@ export const getGridTiles = (image: Jimp, size: Size, tilesWidth: number, tilesH }) }).flat() } catch (error) { - throw throwError(error, 'Problem with getting grid slices') + throw ThrowSpliteaError(error, 'Problem with getting grid slices') } } \ No newline at end of file diff --git a/src/tiles/horizontal.ts b/src/tiles/horizontal.ts index 476603d..a3c96ea 100644 --- a/src/tiles/horizontal.ts +++ b/src/tiles/horizontal.ts @@ -1,6 +1,6 @@ import Jimp from "jimp" import { HorizontalTiles, Image, Size } from "../types" -import { SpliteaError, throwError } from "../errors" +import { SpliteaError, ThrowSpliteaError } from "../errors" import { getSplitImage } from "../image" import { isSubmultiple } from "../utils" @@ -40,6 +40,6 @@ export const getHorizontalTiles = (image: Jimp, size: Size, tilesWidth: number, return getSplitImage(image, x, y, w, h) }) } catch (error) { - throw throwError(error, 'Problem with getting horizontal slices') + throw ThrowSpliteaError(error, 'Problem with getting horizontal slices') } } \ No newline at end of file diff --git a/src/tiles/index.ts b/src/tiles/index.ts index 96038a0..7c0b7d4 100644 --- a/src/tiles/index.ts +++ b/src/tiles/index.ts @@ -1,28 +1,28 @@ import Jimp from "jimp" -import { Image, Mode, ModeSchema, Size, Tiles, TilesSchema } from "../types" -import { checkModeHorizontal, getHorizontalTiles } from "./horizontal" -import { checkModeVertical, getVerticalTiles } from "./vertical" -import { checkModeGrid, getGridTiles } from "./grid" +import { GridTilesSchema, HorizontalTilesSchema, Image, Mode, ModeSchema, Size, Tiles, TilesSchema, VerticalTilesSchema } from "../types" +import { checkHorizontalTiles, getHorizontalTiles } from "./horizontal" +import { checkVerticalTiles, getVerticalTiles } from "./vertical" +import { checkGridTiles, getGridTiles } from "./grid" import { SpliteaError } from "../errors" const checkMode = (mode: Mode) => ModeSchema.parse(mode) export const checkTiles = (tiles: Tiles, size: Size): void => { - const { mode, rows, columns, width, height } = TilesSchema.parse(tiles) + const { mode } = TilesSchema.parse(tiles) // Mode checkMode(mode) // Mode horizontal -> Columns || Width - if ( mode === 'horizontal') { checkModeHorizontal(columns, width, size) } + if (mode === 'horizontal') { checkHorizontalTiles(HorizontalTilesSchema.parse(tiles), size) } // Mode Vertical -> Rows || Height - else if (mode === 'vertical') { checkModeVertical(rows, height, size) } + else if (mode === 'vertical') { checkVerticalTiles(VerticalTilesSchema.parse(tiles), size) } // Mode Grid -> rows + columns || width + height - else if (mode === 'grid') { checkModeGrid(rows, columns, width, height, size) } + else if (mode === 'grid') { checkGridTiles(GridTilesSchema.parse(tiles), size) } } export const getTiles = (img: Jimp, size: Size, tiles: Tiles): Image[] => { if (tiles?.mode !== undefined) { let tmpSlices: Image[] = [] - const { width, height, columns, rows } = tiles + const { width, height, columns, rows } = tiles // Horizontal if (tiles.mode === 'horizontal') { tmpSlices = getHorizontalTiles(img, size, width, columns) } // Vertical diff --git a/src/tiles/vertical.ts b/src/tiles/vertical.ts index 1eabf8b..2b07f4f 100644 --- a/src/tiles/vertical.ts +++ b/src/tiles/vertical.ts @@ -1,6 +1,6 @@ import Jimp from "jimp" import { Image, Size, VerticalTiles } from "../types" -import { SpliteaError, throwError } from "../errors" +import { SpliteaError, ThrowSpliteaError } from "../errors" import { getSplitImage } from "../image" import { isSubmultiple } from "../utils" @@ -40,6 +40,6 @@ export const getVerticalTiles = (image: Jimp, size: Size, tilesHeight: number, t return getSplitImage(image, x, y, w, h) }) } catch (error) { - throw throwError(error, 'Problem with getting vertical slices') + throw ThrowSpliteaError(error, 'Problem with getting vertical slices') } } \ No newline at end of file diff --git a/tests/tiles/grid.test.ts b/tests/tiles/grid.test.ts index 4085be7..99c146a 100644 --- a/tests/tiles/grid.test.ts +++ b/tests/tiles/grid.test.ts @@ -3,17 +3,17 @@ import { GridTiles, Size } from '../../src/types' import { SpliteaError } from '../../src/errors' import { checkGridTiles } from '../../src/tiles/grid' -describe('Grid tiles', () => { - test('checkGridTiles', () => { - const size: Size = { width: 10, height: 15 } - const tiles: GridTiles = {} as GridTiles - // Not data +describe('checkGridTiles', () => { + const size: Size = { width: 10, height: 15 } + const tiles: GridTiles = {} as GridTiles + test('No rows nor columns nor width, height', () => { tiles.rows = 0 tiles.columns = 0 tiles.width = 0 tiles.height = 0 expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - // Just rows + columns -> width and height must be 0 + }) + test('Just rows + columns -> width and height must be 0', () => { tiles.rows = 1 tiles.columns = 1 tiles.width = 0 @@ -24,7 +24,8 @@ describe('Grid tiles', () => { tiles.width = 1 tiles.height = 0 expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - // Just width + height -> rows and columns must be 0 + }) + test('Just width + height -> rows and columns must be 0', () => { tiles.rows = 1 tiles.columns = 0 tiles.width = 1 @@ -35,7 +36,8 @@ describe('Grid tiles', () => { tiles.width = 1 tiles.height = 1 expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - // Just rows + columns -> must be submultiple of height + width + }) + test('Just rows + columns -> must be submultiple of height + width', () => { tiles.rows = 3 tiles.columns = 3 tiles.width = 0 @@ -51,7 +53,8 @@ describe('Grid tiles', () => { tiles.width = 0 tiles.height = 0 expect(() => checkGridTiles(tiles, size)).not.toThrowError(SpliteaError) - // Just width + height -> must be submultiple of width + height + }) + test('Just width + height -> must be submultiple of width + height', () => { tiles.rows = 0 tiles.columns = 0 tiles.width = 3 @@ -68,4 +71,4 @@ describe('Grid tiles', () => { tiles.height = 3 expect(() => checkGridTiles(tiles, size)).not.toThrowError(SpliteaError) }) -}) \ No newline at end of file +}) diff --git a/tests/tiles/horizontal.test.ts b/tests/tiles/horizontal.test.ts index 6dea9ed..a5fbb3c 100644 --- a/tests/tiles/horizontal.test.ts +++ b/tests/tiles/horizontal.test.ts @@ -3,33 +3,37 @@ import { HorizontalTiles, Size } from '../../src/types' import { SpliteaError } from '../../src/errors' import { checkHorizontalTiles } from '../../src/tiles/horizontal' -describe('Horizontal tiles', () => { - test('checkHorizontalTiles', () => { - const size: Size = { width: 10, height: 15 } - const tiles: HorizontalTiles = {} as HorizontalTiles - // Not data +describe('checkHorizontalTiles', () => { + const size: Size = { width: 10, height: 15 } + const tiles: HorizontalTiles = {} as HorizontalTiles + test('No columns nor width', () => { tiles.columns = 0 tiles.width = 0 expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) - // Not both data + }) + test('No columns and width', () => { tiles.columns = 3 tiles.width = 4 expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) - // Invalid columns + }) + test('Invalid columns', () => { tiles.columns = 3 tiles.width = 0 expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) - // Valid columns + }) + test('Valid columns', () => { tiles.columns = 2 tiles.width = 0 expect(() => checkHorizontalTiles(tiles, size)).not.toThrowError(SpliteaError) - // Invalid width + }) + test('Invalid width', () => { tiles.columns = 0 tiles.width = 4 expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) - // Valid columns + }) + test('Valid width', () => { tiles.columns = 0 tiles.width = 5 expect(() => checkHorizontalTiles(tiles, size)).not.toThrowError(SpliteaError) }) -}) \ No newline at end of file +}) diff --git a/tests/tiles/vertical.test.ts b/tests/tiles/vertical.test.ts index b9b0fce..867b505 100644 --- a/tests/tiles/vertical.test.ts +++ b/tests/tiles/vertical.test.ts @@ -3,33 +3,37 @@ import { Size, VerticalTiles } from '../../src/types' import { SpliteaError } from '../../src/errors' import { checkVerticalTiles } from '../../src/tiles/vertical' -describe('Vertical tiles', () => { - test('checkVerticalTiles', () => { - const size: Size = { width: 10, height: 15 } - const tiles: VerticalTiles = {} as VerticalTiles - // Not data +describe('checkVerticalTiles', () => { + const size: Size = { width: 10, height: 15 } + const tiles: VerticalTiles = {} as VerticalTiles + test('No rows nor height', () => { tiles.rows = 0 tiles.height = 0 expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) - // Not both data + }) + test('No rows and height', () => { tiles.rows = 3 tiles.height = 5 expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) - // Invalid rows + }) + test('Invalid rows', () => { tiles.rows = 2 tiles.height = 0 expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) - // Valid rows + }) + test('Valid rows', () => { tiles.rows = 3 tiles.height = 0 expect(() => checkVerticalTiles(tiles, size)).not.toThrowError(SpliteaError) - // Invalid height + }) + test('Invalid height', () => { tiles.rows = 0 tiles.height = 4 expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) - // Valid rows + }) + test('Valid height', () => { tiles.rows = 0 tiles.height = 5 expect(() => checkVerticalTiles(tiles, size)).not.toThrowError(SpliteaError) }) -}) \ No newline at end of file +}) From 6e1e42586abb19ec3f598ff2911fce0413dbe849 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 6 Aug 2023 20:16:40 +0200 Subject: [PATCH 25/64] extracting unique logic to image file --- src/{image/index.ts => image.ts} | 33 ++++++++++++++++++++------------ src/tiles/unique.ts | 19 ------------------ 2 files changed, 21 insertions(+), 31 deletions(-) rename src/{image/index.ts => image.ts} (67%) delete mode 100644 src/tiles/unique.ts diff --git a/src/image/index.ts b/src/image.ts similarity index 67% rename from src/image/index.ts rename to src/image.ts index 1ac4be2..97b8efe 100644 --- a/src/image/index.ts +++ b/src/image.ts @@ -1,7 +1,16 @@ import Jimp from "jimp" -import { SpliteaError, throwError } from "../errors" -import { Image, Size } from "../types" +import { SpliteaError, ThrowSpliteaError } from "./errors" +import { Image, Size, SizeSchema } from "./types" +export const readImage = async (image: Image): Promise<[Jimp, Size]> => { + try { + const img = await Jimp.read(image) + const size: Size = SizeSchema.parse({ width: img.bitmap.width, height: img.bitmap.height }) + return [img, size] + } catch (error) { + throw ThrowSpliteaError(error, `Error reading image ${image}`) + } +} export const getSplitImage = (image: Jimp, x: number, y: number, w: number, h: number): Jimp => { try { @@ -11,20 +20,20 @@ export const getSplitImage = (image: Jimp, x: number, y: number, w: number, h: n if ((y + h) > height) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max y value is ${height - 1}`) return image.clone().crop(x, y, w, h) } catch (error) { - throw throwError(error, 'Problem spliting image') + throw ThrowSpliteaError(error, 'Problem spliting image') } } -export const readImage = async (image: Image): Promise<[Jimp, Size]> => { - try { - const img = await Jimp.read(image) - const size: Size = { width: img.bitmap.width, height: img.bitmap.height } - return [img, size] - } catch (error) { - throw throwError(error, `Error reading image ${image}`) - } +export const getUniqueImages = (imgs: Jimp[]): Jimp[] => { + // 0 or 1 image + if (imgs.length <= 1) return imgs + // Recursion + const unique = imgs[0] + const arr = imgs.slice(1).filter(elem => !areEqualImages(unique, elem)) + return [unique, ...getUniqueImages(arr)] } + // const writeImage = (image: Jimp, path: string, name: string, index: number, extension: string): string => { // const filename = `${name}_${index}_${new Date().getTime()}${extension}` // image.write(filename) @@ -41,7 +50,7 @@ export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { } } catch (error) { console.log(error) - throwError(error, 'Error comparing images') + ThrowSpliteaError(error, 'Error comparing images') } return false } \ No newline at end of file diff --git a/src/tiles/unique.ts b/src/tiles/unique.ts deleted file mode 100644 index 7ba2540..0000000 --- a/src/tiles/unique.ts +++ /dev/null @@ -1,19 +0,0 @@ -import Jimp from "jimp" -import { SpliteaError } from "../errors" -import { areEqualImages } from "../image" - - -export const parseUnique = (tiles: any): boolean => { - if (tiles.unique !== undefined && typeof tiles.unique !== 'boolean') { - throw new SpliteaError('unique property should be boolean, only admits true or false value') - } - return true -} - -export const uniqueTiles = (imgs: Jimp[]): Jimp[] => { - if (imgs.length === 0) return [] - if (imgs.length === 1) return [structuredClone(imgs[0])] - const unique = imgs[0] - const arr = imgs.slice(1).filter(elem => !areEqualImages(unique, elem)) - return [unique, ...uniqueTiles(arr)] -} From 464ecc3a8eeeb5804f1e1545a13378ab56356a11 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Mon, 7 Aug 2023 19:35:18 +0200 Subject: [PATCH 26/64] output tested --- src/errors.ts | 5 ++- src/output.ts | 44 +++++++++++++++++++++++ src/output/index.ts | 71 ------------------------------------ tests/output.test.ts | 86 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+), 74 deletions(-) create mode 100644 src/output.ts delete mode 100644 src/output/index.ts create mode 100644 tests/output.test.ts diff --git a/src/errors.ts b/src/errors.ts index 9b432b4..d9a0c8f 100755 --- a/src/errors.ts +++ b/src/errors.ts @@ -1,12 +1,11 @@ - export class SpliteaError extends Error { - constructor (msg: string) { + constructor(msg: string) { super(msg) this.name = 'SpliteaError' } } -export const throwError = (error: any, msg: string): SpliteaError => { +export const ThrowSpliteaError = (error: any, msg: string): SpliteaError => { if (error instanceof SpliteaError) { return error } console.error(error) return new SpliteaError(msg + '\n' + String(error)) diff --git a/src/output.ts b/src/output.ts new file mode 100644 index 0000000..22f9426 --- /dev/null +++ b/src/output.ts @@ -0,0 +1,44 @@ +import { existsSync, accessSync, constants } from 'node:fs' +import { SpliteaError, ThrowSpliteaError } from "./errors" +import { Output, OutputSchema, StoreSchema } from "./types" + +const checkPath = (path: string): void => { + // Check if path exist + if (!existsSync(path)) { throw new SpliteaError(`Not exists path ${path}`) } + // Check if can write + try { + accessSync(path, constants.W_OK) + } catch (err) { + throw ThrowSpliteaError(err, `Problems parsing path ${path}`) + } +} + +const invalidWindowsFilename = (name: string): boolean => { + // Windows Regex = /^(con|prn|aux|nul|com\d|lpt\d)$/i + const windowsReservedNameRegex = /^(con|prn|aux|nul|com\d|lpt\d)$/ + const invalidWindowsFilename = new RegExp(windowsReservedNameRegex, 'i') + return invalidWindowsFilename.test(name) +} + +const invalidUnixFilename = (name: string): boolean => { + // All OS except Windows Regex = /[<>:"/\\|?*\u0000-\u001F]/g + const filenameReservedRegex = /[<>:"/\\|?*\u0000-\u001F]/ + const invalidFilename = new RegExp(filenameReservedRegex, 'g') + return invalidFilename.test(name) +} + +const checkName = (name: string): void => { + // Check OS valid filename + if (invalidUnixFilename(name) || invalidWindowsFilename(name)) { + throw new SpliteaError(`Invalid filename -> ${name}`) + } +} + +export const checkOutput = (output: Output): void => { + const { response, store } = OutputSchema.parse(output) + if (response === 'path') { + const { path, name } = StoreSchema.parse(store) + checkPath(path) + checkName(name) + } +} \ No newline at end of file diff --git a/src/output/index.ts b/src/output/index.ts deleted file mode 100644 index 73697bc..0000000 --- a/src/output/index.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { SpliteaError } from "../errors" - -export const parseData = (data: any): boolean => { - const datas = [Data.Buffer, Data.Path] - if (!datas.includes(data)) { - throw new SpliteaError('Invalid output data, it should be "buffer" or "path"') - } - return true -} - -export const parsePath = (path: any): boolean => { - // Check if path is string - if (!isString(path)) { throw new SpliteaError('path needs to be string') } - // Check if path exist - if (!existsSync(path as string | Buffer | URL)) { throw new SpliteaError(`Not exists path ${path as string}`) } - // Check if can write - try { - accessSync(path as string | Buffer | URL, constants.W_OK) - } catch (err) { - throw throwError(err, `Problems parsing path ${String(path)}`) - } - return true -} - -export const parseName = (name: any): boolean => { - // Check if string - if (!isString(name)) { throw new SpliteaError('name needs to be string') } - // Check OS valid filename - // Windows Regex = /^(con|prn|aux|nul|com\d|lpt\d)$/i - const windowsReservedNameRegex = /^(con|prn|aux|nul|com\d|lpt\d)$/ - const invalidWindowsFilename = new RegExp(windowsReservedNameRegex, 'i') - // All OS except Windows Regex = /[<>:"/\\|?*\u0000-\u001F]/g - const filenameReservedRegex = '[<>:"/\\|?*\u0000-\u001F]' - const invalidFilename = new RegExp(filenameReservedRegex, 'g') - if (invalidFilename.test(name as string) || invalidWindowsFilename.test(name as string)) { throw new SpliteaError(`${String(name)} is not a valid filename`) } - return true -} - -export const parseExtension = (extension: any): boolean => { - // Check if string - if (!isString(extension)) { throw new SpliteaError('extension needs to be string') } - // Check if valid extension - const values = Object.values(Extension) - if (!values.includes(extension)) { throw new SpliteaError(`${extension as string} needs to be one of this extensions -> ${values.toString()}`) } - return true -} - -const parseStore = (path: any, name: any, extension: any): boolean => { - // Path - if (path !== undefined) { parsePath(path) } - // Name - parseName(name) - // Extension - if (extension !== undefined) { parseExtension(extension) } - return true -} - -export const parseOutput = (output: any): boolean => { - const { data, path, name, extension } = output - // Data - parseData(data) - // Check if save => data = path - if (data === 'path') { - if (name === undefined) { throw new SpliteaError('"name" is required') } - parseStore(path, name, extension) - // Check if save => data = path || name != undefined - } else if (name !== undefined) { - parseStore(path, name, extension) - } - return true -} \ No newline at end of file diff --git a/tests/output.test.ts b/tests/output.test.ts new file mode 100644 index 0000000..45d74c1 --- /dev/null +++ b/tests/output.test.ts @@ -0,0 +1,86 @@ +import fs from 'node:fs' +import path from 'node:path' +import { describe, test, expect } from 'vitest' +import { checkOutput } from '../src/output' +import { SpliteaError } from '../src/errors' +import { Output } from '../src/types' + +describe('checkOutput - response "buffer"', () => { + test('response buffer', () => { + const output: Output = { response: 'buffer' } + expect(() => checkOutput(output)).not.toThrowError() + output.store = { path: 'as?..jhfla', name: '?>.fdsg/.' } + expect(() => checkOutput(output)).not.toThrowError() + }) +}) + +describe('checkOutput - response "path"', () => { + const output: Output = { response: 'path', store: {} } as Output + + test('no store', () => { + expect(() => checkOutput(output)).not.toThrowError(SpliteaError) + }) + + test('path: Not exists', () => { + output.store = { + path: new Date().getTime().toString(), + name: 'test' + } + expect(() => checkOutput(output)).toThrowError(SpliteaError) + output.store.path = path.join(__dirname, new Date().toString()) + expect(() => checkOutput(output)).toThrowError(SpliteaError) + }) + + test('path: No write permission', () => { + const tmpFolder = path.join(__dirname, new Date().getTime().toString()) + output.store = { path: tmpFolder, name: 'test' } + fs.mkdirSync(tmpFolder, { mode: 0o444 }) + expect(() => checkOutput(output)).toThrowError(SpliteaError) + fs.rmdirSync(tmpFolder) + }) + + test('path: Valid path', () => { + const dir = __dirname + output.store = { path: dir, name: 'test' } + expect(() => checkOutput(output)).not.toThrowError(SpliteaError) + }) + + test('Invalid OS filenames', () => { + output.store = { path: __dirname, name: 'test' } + // Invalid filenames + output.store.name = 'foo/bar' + expect(() => checkOutput(output)).toThrowError(SpliteaError) + + output.store.name = 'foo\u0000bar' + expect(() => checkOutput(output)).toThrowError(SpliteaError) + + output.store.name = 'foo\u001Fbar' + expect(() => checkOutput(output)).toThrowError(SpliteaError) + + output.store.name = 'foo*bar' + expect(() => checkOutput(output)).toThrowError(SpliteaError) + + output.store.name = 'foo:bar' + expect(() => checkOutput(output)).toThrowError(SpliteaError) + + output.store.name = 'AUX' + expect(() => checkOutput(output)).toThrowError(SpliteaError) + + output.store.name = 'com1' + expect(() => checkOutput(output)).toThrowError(SpliteaError) + + output.store.name = 'foo\\bar' + expect(() => checkOutput(output)).toThrowError(SpliteaError) + }) + + test('Valid OS filenames', () => { + output.store = { path: __dirname, name: 'test' } + + output.store.name = 'foo-bar' + expect(() => checkOutput(output)).not.toThrowError(SpliteaError) + + output.store.name = 'hola.txt' + expect(() => checkOutput(output)).not.toThrowError(SpliteaError) + }) + +}) From 8bd633b6fc8b2ae700d0b3d73c788c95a5a4f5c5 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Mon, 7 Aug 2023 19:40:01 +0200 Subject: [PATCH 27/64] utils tested --- tests/utils.test.ts | 387 +------------------------------------------- 1 file changed, 7 insertions(+), 380 deletions(-) diff --git a/tests/utils.test.ts b/tests/utils.test.ts index e63ad93..e56f872 100755 --- a/tests/utils.test.ts +++ b/tests/utils.test.ts @@ -1,385 +1,12 @@ -import path from 'path' -import fs from 'fs' -import { Data, Extension, Mode } from '../src/enums' -import { SpliteaError } from '../src/errors' -import { Output, Size, Tiles } from '../src/types' -import { isNatural, isSubmultiple, parseData, parseExtension, parseMode, parseName, parseOutput, parsePath, parseTiles, parseUnique, validPairNaturalNumbers, validPairSubmultiples } from '../src/utils' import { describe, test, expect } from 'vitest' - -const imgFolder = path.join(__dirname, '..', 'examples') - -const imgTest = { - img: path.join(imgFolder, 'forestmap.png'), - imgBad: path.join(imgFolder, 'forestmapp.png'), - width: 320, - height: 224 -} +import { isSubmultiple } from '../src/utils' describe('Test Utils Module', () => { - describe('Tiles', () => { - describe('parseMode', () => { - test('Invalid Modes', () => { - // No mode - let mode: any - const errorNoModeValid = new SpliteaError(`Invalid mode, only ${Mode.Grid}, ${Mode.Horizontal}, ${Mode.Vertical} is permitted`) - expect(() => parseMode(mode)).toThrow(errorNoModeValid) - // Invalid Modes - mode = 'aslkdfhaljkfhl' - expect(() => parseMode(mode)).toThrow(errorNoModeValid) - mode = 3 - expect(() => parseMode(mode)).toThrow(errorNoModeValid) - }) - - test('Valid Modes', () => { - // Valid Modes - let mode = Mode.Grid - expect(parseMode(mode)).toBe(mode) - mode = Mode.Horizontal - expect(parseMode(mode)).toBe(mode) - mode = Mode.Vertical - expect(parseMode(mode)).toBe(mode) - }) - }) - - describe('isNatural', () => { - test('Negative integer', () => expect(isNatural(-1)).toBeFalsy()) - - test('Zero', () => expect(isNatural(0)).toBeFalsy()) - - test('Float', () => expect(isNatural(3.1)).toBeFalsy()) - - test('Invalid types', () => { - expect(isNatural(undefined)).toBeFalsy() - expect(isNatural('adslfjha')).toBeFalsy() - expect(isNatural([1, 2])).toBeFalsy() - }) - - test('Valid natural numbers', () => { - expect(isNatural(4)).toBeTruthy() - expect(isNatural(4.0)).toBeTruthy() - }) - }) - - describe('validPairNaturalNumbers', () => { - test('Invalid numbers', () => { - expect(validPairNaturalNumbers(-1, 2)).toBeFalsy() - expect(validPairNaturalNumbers(2, -1)).toBeFalsy() - expect(validPairNaturalNumbers(2.1, 1)).toBeFalsy() - expect(validPairNaturalNumbers(1, 2.1)).toBeFalsy() - expect(validPairNaturalNumbers('1', 2)).toBeFalsy() - expect(validPairNaturalNumbers(1, '2')).toBeFalsy() - expect(validPairNaturalNumbers([1, 2], 2)).toBeFalsy() - expect(validPairNaturalNumbers(1, [3, 2])).toBeFalsy() - expect(validPairNaturalNumbers(1, undefined)).toBeFalsy() - expect(validPairNaturalNumbers(undefined, 2)).toBeFalsy() - }) - - test('Valid numbers', () => { - expect(validPairNaturalNumbers(1, 2)).toBeTruthy() - expect(validPairNaturalNumbers(1.0, 2)).toBeTruthy() - expect(validPairNaturalNumbers(1, 2.0)).toBeTruthy() - }) - }) - - describe('isSubmultiple', () => { - test('Invalid submultiples', () => { - expect(isSubmultiple(4, 2.1)).toBeFalsy() - expect(isSubmultiple(4, -2.0)).toBeFalsy() - expect(isSubmultiple(-4, 2.0)).toBeFalsy() - expect(isSubmultiple(-4, -2.0)).toBeFalsy() - expect(isSubmultiple('4', 2)).toBeFalsy() - expect(isSubmultiple(4, '2')).toBeFalsy() - }) - - test('Valid submultiples', () => { - expect(isSubmultiple(320, 2.0)).toBeTruthy() - expect(isSubmultiple(224.0, 2)).toBeTruthy() - }) - }) - - describe('validPairSubmultiples', () => { - test('Invalid submultiples', () => { - expect(validPairSubmultiples(320, 3, 224, 2)).toBeFalsy() - expect(validPairSubmultiples(320, 2, 224, 3)).toBeFalsy() - expect(validPairSubmultiples(320, 2.1, 224, 2)).toBeFalsy() - expect(validPairSubmultiples(320, 2, 224, 2.1)).toBeFalsy() - expect(validPairSubmultiples(320, '2', 224, 2)).toBeFalsy() - expect(validPairSubmultiples(320, 2, 224, '2')).toBeFalsy() - }) - - test('Valid submultiples', () => { - expect(validPairSubmultiples(320, 2, 224, 2)).toBeTruthy() - }) - }) - - describe('parseUnique', () => { - test('Valid Unique', () => { - const tiles: any = {} - expect(parseUnique(tiles)).toBeTruthy() - tiles.unique = true - expect(parseUnique(tiles)).toBeTruthy() - tiles.unique = false - expect(parseUnique(tiles)).toBeTruthy() - }) - - test('Invalid Unique', () => { - const tiles: any = { unique: 0 } - const error = new SpliteaError('unique property should be boolean, only admits true or false value') - expect(() => parseUnique(tiles)).toThrow(error) - tiles.unique = 1 - expect(() => parseUnique(tiles)).toThrow(error) - tiles.unique = 'true' - expect(() => parseUnique(tiles)).toThrow(error) - }) - }) - - describe('parseTiles', () => { - test('Grid', () => { - const size: Size = { width: imgTest.width, height: imgTest.height } - const errorSubmultiple = new SpliteaError(`you need to provide two natural submultiples of ${size.width} and ${size.height}, columns + rows or width (px) + height (px)`) - const tiles: Tiles = { mode: Mode.Grid, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } - // OK Rows & Columns - tiles.rows = 2 - tiles.columns = 2 - expect(parseTiles(tiles, size)).toBeTruthy() - // OK Width & Height - tiles.rows = undefined - tiles.columns = undefined - tiles.width = 2 - tiles.height = 2 - expect(parseTiles(tiles, size)).toBeTruthy() - // Fail Rows Ok Columns - tiles.rows = 3 - tiles.columns = 2 - tiles.width = undefined - tiles.height = undefined - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Ok Rows Fail Columns - tiles.rows = 2 - tiles.columns = 3 - tiles.width = undefined - tiles.height = undefined - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Fail Width & Ok Height - tiles.rows = undefined - tiles.columns = undefined - tiles.width = 3 - tiles.height = 2 - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Ok Width & Fail Height - tiles.rows = undefined - tiles.columns = undefined - tiles.width = 2 - tiles.height = 3 - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - }) - - test('Horizontal', () => { - const size: Size = { width: imgTest.width, height: imgTest.height } - const errorSubmultiple = new SpliteaError(`you need to provide one natural submultiple of ${size.width}, columns or width (px)`) - const tiles: Tiles = { mode: Mode.Horizontal, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } - // OK Columns - tiles.columns = 2 - tiles.width = undefined - expect(parseTiles(tiles, size)).toBeTruthy() - // OK Width - tiles.columns = undefined - tiles.width = 2 - expect(parseTiles(tiles, size)).toBeTruthy() - // Fail Columns - tiles.columns = 3 - tiles.width = undefined - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Fail Width - tiles.columns = undefined - tiles.width = 3 - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - }) - - test('Vertical', () => { - const size: Size = { width: imgTest.width, height: imgTest.height } - const errorSubmultiple = new SpliteaError(`you need to provide one natural submultiple of ${size.height}, rows or height (px)`) - const tiles: Tiles = { mode: Mode.Vertical, rows: undefined, columns: undefined, width: undefined, height: undefined, unique: false } - // OK Rows - tiles.rows = 2 - tiles.height = undefined - expect(parseTiles(tiles, size)).toBeTruthy() - // OK Height - tiles.rows = undefined - tiles.height = 2 - expect(parseTiles(tiles, size)).toBeTruthy() - // Fail Rows - tiles.rows = 3 - tiles.height = undefined - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - // Fail Height - tiles.rows = undefined - tiles.height = 3 - expect(() => parseTiles(tiles, size)).toThrow(errorSubmultiple) - }) - }) - }) - - describe('Output', () => { - describe('parseData', () => { - test('Invalid data', () => { - const error = new SpliteaError('Invalid output data, it should be "buffer" or "path"') - expect(() => parseData(undefined)).toThrow(error) - expect(() => parseData(null)).toThrow(error) - expect(() => parseData(false)).toThrow(error) - expect(() => parseData('Buffer')).toThrow(error) - expect(() => parseData('Path')).toThrow(error) - expect(() => parseData(1)).toThrow(error) - expect(() => parseData(['path'])).toThrow(error) - }) - test('Valid data', () => { - expect(parseData('path')).toBeTruthy() - expect(parseData('buffer')).toBeTruthy() - }) - }) - - describe('parsePath', () => { - test('Invalid path', () => { - const error = new SpliteaError('path needs to be string') - expect(() => parsePath(null)).toThrow(error) - expect(() => parsePath(undefined)).toThrow(error) - expect(() => parsePath(false)).toThrow(error) - expect(() => parsePath(1)).toThrow(error) - expect(() => parsePath(['./test'])).toThrow(error) - expect(() => parsePath({ path: './test' })).toThrow(error) - }) - - test('Not exists path', () => { - let testPath = new Date().getTime().toString() - let error = new SpliteaError(`Not exists path ${testPath}`) - expect(() => parsePath(testPath)).toThrow(error) - testPath = path.join(__dirname, new Date().toString()) - error = new SpliteaError(`Not exists path ${testPath}`) - expect(() => parsePath(testPath)).toThrow(error) - }) - - test('No write permission path', () => { - const tmpFolder = path.join(__dirname, new Date().getTime().toString()) - fs.mkdirSync(tmpFolder, { mode: 0o444 }) - expect(() => parsePath(tmpFolder)).toThrow(SpliteaError) - fs.rmdirSync(tmpFolder) - }) - - test('Valid path', () => { - expect(parsePath(__dirname)).toBeTruthy() - }) - }) - - describe('parseName', () => { - test('Invalid type of name', () => { - const error = new SpliteaError('name needs to be string') - expect(() => parseName(null)).toThrow(error) - expect(() => parseName(undefined)).toThrow(error) - expect(() => parseName(false)).toThrow(error) - expect(() => parseName(1)).toThrow(error) - expect(() => parseName(['test'])).toThrow(error) - expect(() => parseName({ test: 'test' })).toThrow(error) - }) - - test('Invalid OS name', () => { - let name: string - let error: SpliteaError - // Invalid filenames - name = 'foo/bar' - error = new SpliteaError(`${String(name)} is not a valid filename`) - expect(() => parseName(name)).toThrow(error) - - name = 'foo\u0000bar' - error = new SpliteaError(`${String(name)} is not a valid filename`) - expect(() => parseName(name)).toThrow(error) - - name = 'foo\u001Fbar' - error = new SpliteaError(`${String(name)} is not a valid filename`) - expect(() => parseName(name)).toThrow(error) - - name = 'foo*bar' - error = new SpliteaError(`${String(name)} is not a valid filename`) - expect(() => parseName(name)).toThrow(error) - - name = 'foo:bar' - error = new SpliteaError(`${String(name)} is not a valid filename`) - expect(() => parseName(name)).toThrow(error) - - name = 'AUX' - error = new SpliteaError(`${String(name)} is not a valid filename`) - expect(() => parseName(name)).toThrow(error) - - name = 'com1' - error = new SpliteaError(`${String(name)} is not a valid filename`) - expect(() => parseName(name)).toThrow(error) - // Valid filenames - name = 'foo-bar' - expect(parseName(name)).toBeTruthy() - - name = 'foo\\bar' - expect(parseName(name)).toBeTruthy() - }) - - test('Valid name', () => { - expect(parseName('hola.txt')).toBeTruthy() - }) - }) - - describe('parseExtension', () => { - test('Extension not string', () => { - const error = new SpliteaError('extension needs to be string') - expect(() => parseExtension(undefined)).toThrow(error) - expect(() => parseExtension(null)).toThrow(error) - expect(() => parseExtension(false)).toThrow(error) - expect(() => parseExtension(true)).toThrow(error) - expect(() => parseExtension(1)).toThrow(error) - expect(() => parseExtension(['jpg'])).toThrow(error) - expect(() => parseExtension({ jpg: 'jpg' })).toThrow(error) - }) - - test('Extension not valid', () => { - const values = Object.values(Extension) - const extensions = ['pnj', 'jepg', 'giff', 'tif'] - extensions.forEach(extension => { - const err = new SpliteaError(`${extension} needs to be one of this extensions -> ${values.toString()}`) - expect(() => parseExtension(extension)).toThrow(err) - }) - }) - - test('Extension valid', () => { - const extensions = ['png', 'jpg', 'jpeg', 'gif', 'tiff'] - extensions.forEach(extension => expect(extension).toBeTruthy()) - }) - }) - - describe('parseOutput', () => { - describe('data = buffer', () => { - test('No store tiles -> No name', () => { - const output: Output = { data: Data.Buffer } - expect(parseOutput(output)).toBeTruthy() - }) - - test('Store tiles -> name', () => { - const output: Output = { data: Data.Buffer, name: 'test' } - expect(parseOutput(output)).toBeTruthy() - const error = { data: Data.Buffer, name: 123 } - expect(() => parseOutput(error)).toThrow(SpliteaError) - }) - }) - describe('data = path', () => { - test('Error -> No name', () => { - const error = new SpliteaError('"name" is required') - const output: Output = { data: Data.Path } - expect(() => parseOutput(output)).toThrow(error) - }) + test('isSubmultiple', () => { + expect(isSubmultiple(10, 5)).toBeTruthy() + expect(isSubmultiple(10, 2)).toBeTruthy() + expect(isSubmultiple(10, 3)).toBeFalsy() + expect(isSubmultiple(10, 4)).toBeFalsy() + }) - test('Store tiles', () => { - const output: Output = { data: Data.Path, name: 'test' } - expect(parseOutput(output)).toBeTruthy() - const error = { data: Data.Path, name: 123 } - expect(() => parseOutput(error)).toThrow(SpliteaError) - }) - }) - }) - }) }) From 10ea42a294393b4fb3e105663441e088383ed981 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Mon, 7 Aug 2023 19:40:31 +0200 Subject: [PATCH 28/64] types with schemas --- src/types.ts | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/types.ts b/src/types.ts index 1968985..c158f97 100755 --- a/src/types.ts +++ b/src/types.ts @@ -36,37 +36,41 @@ export const TilesSchema = z.object({ unique: BooleanOptionalSchema, }) export type Tiles = z.infer -// Modes Parser + export const HorizontalTilesSchema = TilesSchema.pick({ columns: true, width: true }) export type HorizontalTiles = z.infer export const VerticalTilesSchema = TilesSchema.pick({ rows: true, height: true }) export type VerticalTiles = z.infer export const GridTilesSchema = TilesSchema.omit({ mode: true, unique: true }) export type GridTiles = z.infer - -/** - * 1. Data to return -> data => "buffer" | "path" - * 2. If data = "path" or you want to store the slices it needs to provide path + name (extension is optional) +/** Output -------------------------------------------------------------------- + * 1. response = data to return -> data => "buffer" | "path" + * 2. If response = "path" or you want to store the slices it needs to provide path + name (extension is optional) * 2.1 Local path to store slices -> path * 2.2 Name preffix to slices -> name * 2.3 Extension to store tiles -> extension => "jpg" | "png" | "bmp" | "gif" | "tiff" **/ -export const DataSchema = z.enum(['buffer', 'path']) -export type Data = z.infer +export const ResponseSchema = z.enum(['buffer', 'path']) +export type Data = z.infer export const ExtensionSchema = z.enum(['jpg', 'jpeg', 'png', 'bmp', 'gif', 'tiff']) export type Extension = z.infer export const ExtensionOptionalSchema = ExtensionSchema.optional() export type ExtensionOptional = z.infer -export const OutputSchema = z.object({ - data: DataSchema, - path: StringOptionalSchema, - name: StringOptionalSchema, +export const StoreSchema = z.object({ + path: StringSchema, + name: StringSchema, extension: ExtensionOptionalSchema }) -export type Output = z.infer +export type Store = z.infer +export const OutputSchema = z.object({ + response: ResponseSchema.default('buffer'), + store: StoreSchema.optional() +}) +export type Output = z.infer +// Other ---------------------------------------------------------------------- export const SizeSchema = z.object({ width: NaturalSchema.positive(), height: NaturalSchema.positive() @@ -77,4 +81,6 @@ export const BufferSchema = z.instanceof(Buffer) export const JimpSchema = z.instanceof(Jimp) -export type Image = z.infer +export const ImageSchema = z.union([StringSchema, BufferSchema]) + +export type Image = z.infer From ac4be2c4b155909c2a87f2b794628b012acd7aff Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 10 Aug 2023 20:38:49 +0200 Subject: [PATCH 29/64] refactor tiles to not operate with jimp --- src/tiles/grid.ts | 9 +-- src/tiles/horizontal.ts | 10 +--- src/tiles/index.ts | 40 +++++++------ src/tiles/vertical.ts | 10 +--- src/types.ts | 8 +++ tests/tiles/index.test.ts | 115 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 154 insertions(+), 38 deletions(-) create mode 100644 tests/tiles/index.test.ts diff --git a/src/tiles/grid.ts b/src/tiles/grid.ts index 00a372b..17cb181 100644 --- a/src/tiles/grid.ts +++ b/src/tiles/grid.ts @@ -1,6 +1,4 @@ -import Jimp from "jimp" -import { GridTiles, Image, Size } from "../types" -import { getSplitImage } from "../image" +import { GridTiles, Size, TileCoordinates, TileCoordinatesSchema } from "../types" import { SpliteaError, ThrowSpliteaError } from "../errors" import { isSubmultiple } from "../utils" @@ -52,8 +50,7 @@ export const checkGridTiles = (tiles: GridTiles, size: Size): void => { } } -export const getGridTiles = (image: Jimp, size: Size, tilesWidth: number, tilesHeight: number, tilesRows: number, tilesColumns: number): Image[] => { - validGridTiles(tilesWidth, tilesHeight, tilesRows, tilesColumns) +export const getGridTiles = (size: Size, tilesWidth: number, tilesHeight: number, tilesRows: number, tilesColumns: number): TileCoordinates[] => { try { const { width, height } = size const [w, tilesNumberX] = tilesWidth === 0 @@ -68,7 +65,7 @@ export const getGridTiles = (image: Jimp, size: Size, tilesWidth: number, tilesH const x = w * indexX return arrayY.map((_y, indexY) => { const y = h * indexY - return getSplitImage(image, x, y, w, h) + return TileCoordinatesSchema.parse({ x, y, width: w, height: h }) }) }).flat() } catch (error) { diff --git a/src/tiles/horizontal.ts b/src/tiles/horizontal.ts index a3c96ea..851ee7b 100644 --- a/src/tiles/horizontal.ts +++ b/src/tiles/horizontal.ts @@ -1,7 +1,5 @@ -import Jimp from "jimp" -import { HorizontalTiles, Image, Size } from "../types" +import { HorizontalTiles, Size, TileCoordinates, TileCoordinatesSchema } from "../types" import { SpliteaError, ThrowSpliteaError } from "../errors" -import { getSplitImage } from "../image" import { isSubmultiple } from "../utils" export const checkHorizontalTiles = (tiles: HorizontalTiles, size: Size): void => { @@ -25,9 +23,7 @@ export const checkHorizontalTiles = (tiles: HorizontalTiles, size: Size): void = } } -export const getHorizontalTiles = (image: Jimp, size: Size, tilesWidth: number, tilesColumns: number): Image[] => { - if (tilesWidth === 0 && tilesColumns === 0) throw new SpliteaError('It needs to provide "columns" or "width"') - if (tilesWidth > 0 && tilesColumns > 0) throw new SpliteaError('It needs to provide "columns" or "width" but not both of them') +export const getHorizontalTiles = (size: Size, tilesWidth: number, tilesColumns: number): TileCoordinates[] => { try { const { width, height } = size const [w, tilesNumber] = tilesWidth === 0 @@ -37,7 +33,7 @@ export const getHorizontalTiles = (image: Jimp, size: Size, tilesWidth: number, const y = 0 return new Array(tilesNumber).map((_, index) => { const x = w * index - return getSplitImage(image, x, y, w, h) + return TileCoordinatesSchema.parse({ x, y, width: w, height: h }) }) } catch (error) { throw ThrowSpliteaError(error, 'Problem with getting horizontal slices') diff --git a/src/tiles/index.ts b/src/tiles/index.ts index 7c0b7d4..bfe37c9 100644 --- a/src/tiles/index.ts +++ b/src/tiles/index.ts @@ -1,9 +1,14 @@ import Jimp from "jimp" -import { GridTilesSchema, HorizontalTilesSchema, Image, Mode, ModeSchema, Size, Tiles, TilesSchema, VerticalTilesSchema } from "../types" +import { + HorizontalTilesSchema, VerticalTilesSchema, GridTilesSchema, + Mode, ModeSchema, + Size, + Tiles, TilesSchema, TileCoordinates +} from "../types" import { checkHorizontalTiles, getHorizontalTiles } from "./horizontal" import { checkVerticalTiles, getVerticalTiles } from "./vertical" import { checkGridTiles, getGridTiles } from "./grid" -import { SpliteaError } from "../errors" +import { getSplitImages } from "../image" const checkMode = (mode: Mode) => ModeSchema.parse(mode) @@ -19,20 +24,19 @@ export const checkTiles = (tiles: Tiles, size: Size): void => { else if (mode === 'grid') { checkGridTiles(GridTilesSchema.parse(tiles), size) } } -export const getTiles = (img: Jimp, size: Size, tiles: Tiles): Image[] => { - if (tiles?.mode !== undefined) { - let tmpSlices: Image[] = [] - const { width, height, columns, rows } = tiles - // Horizontal - if (tiles.mode === 'horizontal') { tmpSlices = getHorizontalTiles(img, size, width, columns) } - // Vertical - if (tiles.mode === 'vertical') { tmpSlices = getVerticalTiles(img, size, height, rows) } - // Grid - if (tiles.mode === 'grid') { tmpSlices = getGridTiles(img, size, width, height, rows, columns) } - // Remove similars - if (tmpSlices.length > 0) return (tiles.unique) ? uniqueTiles(tmpSlices as Jimp[]) : tmpSlices - // Error - throw new SpliteaError('Invalid mode') - } - throw new SpliteaError('No mode defined') +const getTilesByMode = (size: Size, tiles: Tiles): TileCoordinates[] => { + const { mode, width, height, columns, rows } = tiles + // Horizontal + if (mode === 'horizontal') { return getHorizontalTiles(size, width, columns) } + // Vertical + if (mode === 'vertical') { return getVerticalTiles(size, height, rows) } + // Grid + return getGridTiles(size, width, height, rows, columns) +} + +export const getTiles = (img: Jimp, size: Size, tiles: Tiles): Jimp[] => { + // Get coordinates + const tilesCoordinates: TileCoordinates[] = getTilesByMode(size, tiles) + // Get images + return getSplitImages(img, tilesCoordinates, tiles.unique) } diff --git a/src/tiles/vertical.ts b/src/tiles/vertical.ts index 2b07f4f..99ce5a4 100644 --- a/src/tiles/vertical.ts +++ b/src/tiles/vertical.ts @@ -1,7 +1,5 @@ -import Jimp from "jimp" -import { Image, Size, VerticalTiles } from "../types" +import { Size, TileCoordinates, TileCoordinatesSchema, VerticalTiles } from "../types" import { SpliteaError, ThrowSpliteaError } from "../errors" -import { getSplitImage } from "../image" import { isSubmultiple } from "../utils" export const checkVerticalTiles = (tiles: VerticalTiles, size: Size): void => { @@ -25,9 +23,7 @@ export const checkVerticalTiles = (tiles: VerticalTiles, size: Size): void => { } } -export const getVerticalTiles = (image: Jimp, size: Size, tilesHeight: number, tilesRows: number): Image[] => { - if (tilesHeight === 0 && tilesRows === 0) throw new SpliteaError('It needs to provide "rows" or "heigth"') - if (tilesHeight > 0 && tilesRows > 0) throw new SpliteaError('It needs to provide "rows" or "heigth" but not both of them') +export const getVerticalTiles = (size: Size, tilesHeight: number, tilesRows: number): TileCoordinates[] => { try { const { width, height } = size const w = width @@ -37,7 +33,7 @@ export const getVerticalTiles = (image: Jimp, size: Size, tilesHeight: number, t const x = 0 return new Array(tilesNumber).map((_, index) => { const y = h * index - return getSplitImage(image, x, y, w, h) + return TileCoordinatesSchema.parse({ x, y, width: w, height: h }) }) } catch (error) { throw ThrowSpliteaError(error, 'Problem with getting vertical slices') diff --git a/src/types.ts b/src/types.ts index c158f97..1e8c663 100755 --- a/src/types.ts +++ b/src/types.ts @@ -43,6 +43,14 @@ export const VerticalTilesSchema = TilesSchema.pick({ rows: true, height: true } export type VerticalTiles = z.infer export const GridTilesSchema = TilesSchema.omit({ mode: true, unique: true }) export type GridTiles = z.infer + +export const TileCoordinatesSchema = z.object({ + x: NaturalSchema, + y: NaturalSchema, + width: NaturalSchema, + height: NaturalSchema +}) +export type TileCoordinates = z.infer /** Output -------------------------------------------------------------------- * 1. response = data to return -> data => "buffer" | "path" * 2. If response = "path" or you want to store the slices it needs to provide path + name (extension is optional) diff --git a/tests/tiles/index.test.ts b/tests/tiles/index.test.ts new file mode 100644 index 0000000..3cb58d6 --- /dev/null +++ b/tests/tiles/index.test.ts @@ -0,0 +1,115 @@ +import path from 'node:path' +import { describe, test, expect } from 'vitest' +import { areEqualImages, getUniqueImages, readImage } from '../../src/image' +import { getTiles } from '../../src/tiles' +import { Tiles } from '../../src/types' +const imgFolder = path.join(__dirname, '..') + +const imgTest = { + img: path.join(imgFolder, 'forestmap.png'), + imgBad: path.join(imgFolder, 'forestmapp.png'), + width: 320, + height: 224, + imgSatie: path.join(imgFolder, 'Ericsatie.jpg') +} + +const tilesTest: Tiles = { + mode: 'grid', + rows: 0, columns: 0, + width: 0, height: 0, + unique: false +} +const tilesTestHorizontal: Tiles = { ...tilesTest, mode: 'horizontal' } +const tilesTestVertical: Tiles = { ...tilesTest, mode: 'vertical' } + +describe('Get Horizontal Tiles', () => { + test('Providing width', async () => { + const [img, size] = await readImage(imgTest.img) + const tiles: Tiles = { ...tilesTestHorizontal } + tiles.width = 1 + expect(getTiles(img, size, tiles).length).toBe(size.width) + tiles.width = size.width + expect(getTiles(img, size, tiles).length).toBe(1) + tiles.width = size.width / 2 + expect(getTiles(img, size, tiles).length).toBe(2) + }) + + test('Providing columns', async () => { + const [img, size] = await readImage(imgTest.img) + const tiles: Tiles = { ...tilesTestHorizontal } + tiles.columns = 1 + expect(getTiles(img, size, tiles).length).toBe(tiles.columns) + tiles.columns = 2 + expect(getTiles(img, size, tiles).length).toBe(tiles.columns) + tiles.columns = size.width / 2 + expect(getTiles(img, size, tiles).length).toBe(tiles.columns) + }) +}) + +describe('Get Vertical Tiles', () => { + test('Providing height', async () => { + const [img, size] = await readImage(imgTest.img) + const tiles: Tiles = { ...tilesTestVertical } + tiles.height = 1 + expect(getTiles(img, size, tiles).length).toBe(size.height) + tiles.height = size.height + expect(getTiles(img, size, tiles).length).toBe(1) + tiles.height = size.height / 2 + expect(getTiles(img, size, tiles).length).toBe(2) + }) + + test('Providing rows', async () => { + const [img, size] = await readImage(imgTest.img) + const tiles: Tiles = { ...tilesTestVertical } + tiles.rows = 1 + expect(getTiles(img, size, tiles).length).toBe(tiles.rows) + tiles.rows = 2 + expect(getTiles(img, size, tiles).length).toBe(tiles.rows) + tiles.rows = size.width / 2 + expect(getTiles(img, size, tiles).length).toBe(tiles.rows) + }) +}) + +describe('Get Grid Tiles', () => { + test('Providing width-height', async () => { + const [img, size] = await readImage(imgTest.img) + const tiles: Tiles = { ...tilesTest } + tiles.width = size.width + tiles.height = size.height + let images = 1 + expect(getTiles(img, size, tiles).length).toBe(images) + tiles.width = size.width / 2 + tiles.height = size.height / 2 + images = 4 + expect(getTiles(img, size, tiles).length).toBe(images) + tiles.width = size.width + tiles.height = size.height / 2 + images = 2 + expect(getTiles(img, size, tiles).length).toBe(images) + tiles.width = size.width / 2 + tiles.height = size.height + // images = 2 + expect(getTiles(img, size, tiles).length).toBe(images) + }) + + test('Providing rows-columns', async () => { + const [img, size] = await readImage(imgTest.img) + const tiles: Tiles = { ...tilesTest } + tiles.rows = 1 + tiles.columns = 1 + let images = 1 + expect(getTiles(img, size, tiles).length).toBe(images) + tiles.rows = 1 + tiles.columns = 2 + images = 2 + expect(getTiles(img, size, tiles).length).toBe(images) + tiles.rows = 2 + tiles.columns = 1 + // images = 2 + expect(getTiles(img, size, tiles).length).toBe(images) + tiles.rows = 2 + tiles.columns = 2 + images = 4 + expect(getTiles(img, size, tiles).length).toBe(images) + }) +}) From 67a0c3769bba623bc591923f1f958d5d80e88576 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Thu, 10 Aug 2023 20:39:12 +0200 Subject: [PATCH 30/64] jimp operations moved to image.ts --- src/image.ts | 44 +++++++++++++--------- tests/forestmap.png | Bin 0 -> 11040 bytes tests/image.test.ts | 90 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 17 deletions(-) create mode 100755 tests/forestmap.png create mode 100644 tests/image.test.ts diff --git a/src/image.ts b/src/image.ts index 97b8efe..db3b4f7 100644 --- a/src/image.ts +++ b/src/image.ts @@ -1,9 +1,10 @@ import Jimp from "jimp" import { SpliteaError, ThrowSpliteaError } from "./errors" -import { Image, Size, SizeSchema } from "./types" +import { Image, ImageSchema, Size, SizeSchema, TileCoordinates } from "./types" export const readImage = async (image: Image): Promise<[Jimp, Size]> => { try { + ImageSchema.parse(image) const img = await Jimp.read(image) const size: Size = SizeSchema.parse({ width: img.bitmap.width, height: img.bitmap.height }) return [img, size] @@ -12,9 +13,10 @@ export const readImage = async (image: Image): Promise<[Jimp, Size]> => { } } -export const getSplitImage = (image: Jimp, x: number, y: number, w: number, h: number): Jimp => { +const getSplitImage = (image: Jimp, tileCoordinates: TileCoordinates): Jimp => { try { const { width, height } = image.bitmap + const { x, y, width: w, height: h } = tileCoordinates if (x === 0 && w === width && y === 0 && h === height) return image if ((x + w) > width) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max x value is ${width - 1}`) if ((y + h) > height) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max y value is ${height - 1}`) @@ -24,22 +26,12 @@ export const getSplitImage = (image: Jimp, x: number, y: number, w: number, h: n } } -export const getUniqueImages = (imgs: Jimp[]): Jimp[] => { - // 0 or 1 image - if (imgs.length <= 1) return imgs - // Recursion - const unique = imgs[0] - const arr = imgs.slice(1).filter(elem => !areEqualImages(unique, elem)) - return [unique, ...getUniqueImages(arr)] +export const getSplitImages = (image: Jimp, tilesCoordinate: TileCoordinates[], unique: boolean = false): Jimp[] => { + const images = tilesCoordinate.map(tileCoordinates => getSplitImage(image, tileCoordinates)) + if (unique && images.length > 1) { return getUniqueImages(images) } + return images } - -// const writeImage = (image: Jimp, path: string, name: string, index: number, extension: string): string => { -// const filename = `${name}_${index}_${new Date().getTime()}${extension}` -// image.write(filename) -// return filename -// } - export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { try { const distance = Jimp.distance(img1, img2) @@ -53,4 +45,22 @@ export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { ThrowSpliteaError(error, 'Error comparing images') } return false -} \ No newline at end of file +} + +export const getUniqueImages = (images: Jimp[]): Jimp[] => { + let array = [...images ] + let image: Jimp + let uniqueArray: Jimp[] = [] + while (array.length) { + image = array[0] + uniqueArray.push(image) + array = array.filter(elem => !areEqualImages(image, elem)) + } + return uniqueArray +} + +// const writeImage = (image: Jimp, path: string, name: string, index: number, extension: string): string => { +// const filename = `${name}_${index}_${new Date().getTime()}${extension}` +// image.write(filename) +// return filename +// } diff --git a/tests/forestmap.png b/tests/forestmap.png new file mode 100755 index 0000000000000000000000000000000000000000..7c1142ceac5372235be3b48ed4290f7419fa57b3 GIT binary patch literal 11040 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 { + + test('Correct local jpg', async () => { + const [img, size] = await readImage(imgTest.img) + expect(img.bitmap.width).toBe(imgTest.width) + expect(img.bitmap.height).toBe(imgTest.height) + expect(size.width).toBe(imgTest.width) + expect(size.height).toBe(imgTest.height) + }) + + test('Incorrect local jpg', async () => { + await expect(readImage(imgTest.imgBad)).rejects.toThrow(SpliteaError) + }) +}) + +describe('Get Split Image', () => { + test('Correct splits', async () => { + const [img, size] = await readImage(imgTest.img) + const tile: TileCoordinates = { x: 0, y: 0, width: size.width, height: size.height } + let newImage = getSplitImages(img, [tile])[0] + expect(newImage.bitmap.width).toBe(tile.width) + expect(newImage.bitmap.height).toBe(tile.height) + tile.x = size.width / 2 + tile.width = size.width / 2 + tile.y = size.height / 2 + tile.height = size.height / 2 + newImage = getSplitImages(img, [tile])[0] + expect(newImage.bitmap.width).toBe(tile.width) + expect(newImage.bitmap.height).toBe(tile.height) + }) + + test('Incorrect splits', async () => { + const [img, size] = await readImage(imgTest.img) + const tile: TileCoordinates = { x: 1, y: 1, width: size.width, height: size.height } + expect(() => getSplitImages(img, [tile])).toThrow(SpliteaError) + tile.x = (size.width / 2) + 1 + tile.width = size.width / 2 + tile.y = size.height / 2 + tile.height = size.height / 2 + expect(() => getSplitImages(img, [tile])).toThrow(SpliteaError) + tile.x = size.width / 2 + // w = size.width / 2 + tile.y = (size.height / 2) + 1 + // h = size.height / 2 + expect(() => getSplitImages(img, [tile])).toThrow(SpliteaError) + }) +}) + +describe('Unique tiles', () => { + test('Test areEqualImages', async () => { + const [img, _] = await readImage(imgTest.img) + const [imgSatie, __] = await readImage(imgTest.imgSatie) + // Equals + expect(areEqualImages(img, img)).toBeTruthy() + expect(areEqualImages(imgSatie, imgSatie)).toBeTruthy() + // Differents + expect(areEqualImages(img, imgSatie)).toBeFalsy() + expect(areEqualImages(imgSatie, img)).toBeFalsy() + }) + + test('getUniqueImages', async () => { + const [img1, _i1] = await readImage(imgTest.img) + // const [img2, _i2] = await readImage(imgTest.img) + const [imgSatie1, _is1] = await readImage(imgTest.imgSatie) + // const [imgSatie2, _is2] = await readImage(imgTest.imgSatie) + const uniques = getUniqueImages([img1, imgSatie1, img1, imgSatie1]) + // const uniques = getUniqueImages([img1, imgSatie1, img2, imgSatie2]) + expect(uniques.length).toBe(2) + const i1 = uniques[0] + const is1 = uniques[1] + expect(areEqualImages(i1, img1)).toBeTruthy() + expect(areEqualImages(is1, imgSatie1)).toBeTruthy() + }) +}) \ No newline at end of file From 86cda717071bb9b81e646e44ba73e3d9a3b5b1c9 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Tue, 15 Aug 2023 17:23:42 +0200 Subject: [PATCH 31/64] tested image --- src/image.ts | 41 ++++++++++++++++++++----- tests/image.test.ts | 74 ++++++++++++++++++++++++++++++++++----------- 2 files changed, 89 insertions(+), 26 deletions(-) diff --git a/src/image.ts b/src/image.ts index db3b4f7..1e1ebda 100644 --- a/src/image.ts +++ b/src/image.ts @@ -1,8 +1,9 @@ +import * as Path from 'node:path' import Jimp from "jimp" import { SpliteaError, ThrowSpliteaError } from "./errors" import { Image, ImageSchema, Size, SizeSchema, TileCoordinates } from "./types" -export const readImage = async (image: Image): Promise<[Jimp, Size]> => { +export const getImage = async (image: Image): Promise<[Jimp, Size]> => { try { ImageSchema.parse(image) const img = await Jimp.read(image) @@ -37,7 +38,7 @@ export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { const distance = Jimp.distance(img1, img2) const diff = Jimp.diff(img1, img2) if (distance < 0.15 && diff.percent < 0.15) { - console.log(`distance = ${distance} | diff = ${diff.percent}`) + console.debug(`distance = ${distance} | diff = ${diff.percent}`) return true } } catch (error) { @@ -48,7 +49,7 @@ export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { } export const getUniqueImages = (images: Jimp[]): Jimp[] => { - let array = [...images ] + let array = [...images] let image: Jimp let uniqueArray: Jimp[] = [] while (array.length) { @@ -59,8 +60,32 @@ export const getUniqueImages = (images: Jimp[]): Jimp[] => { return uniqueArray } -// const writeImage = (image: Jimp, path: string, name: string, index: number, extension: string): string => { -// const filename = `${name}_${index}_${new Date().getTime()}${extension}` -// image.write(filename) -// return filename -// } +const writeImage = async (image: Jimp, path: string, name: string, index: number | string, extension: string): Promise => { + const filename = `${name}_${index}_${new Date().getTime()}.${extension}` + const file = Path.join(path, filename) + await image.writeAsync(file) + return file +} + +export const writeImages = async (images: Jimp[], path: string, name: string, extension: string): Promise => { + if (images.length < 1) throw new SpliteaError('Impossible to write no images') + if (images.length === 1) { + const filenames = await writeImage(images[0], path, name, '', extension) + return [filenames] + } + return Promise.all( + images.map( + async (image: Jimp, index: number) => await writeImage(image, path, name, index, extension) + ) + ) +} + +export const getBufferImages = async (images: Jimp[]): Promise => { + try { + const buffers = await Promise.all(images.map(async (image: Jimp) => await image.getBufferAsync(image.getMIME()))) + return buffers + } catch (error) { + ThrowSpliteaError(error, 'Impossible to get buffer from images') + } + return Promise.resolve([]) +} \ No newline at end of file diff --git a/tests/image.test.ts b/tests/image.test.ts index 61a8325..34e905b 100644 --- a/tests/image.test.ts +++ b/tests/image.test.ts @@ -1,5 +1,7 @@ +import { Buffer } from 'node:buffer' +import fs from 'node:fs/promises' import path from 'node:path' -import { areEqualImages, getSplitImages, getUniqueImages, readImage } from '../src/image' +import { areEqualImages, getSplitImages, getUniqueImages, getImage, getBufferImages, writeImages } from '../src/image' import { describe, test, expect } from 'vitest' import { SpliteaError } from '../src/errors' import { TileCoordinates } from '../src/types' @@ -14,10 +16,9 @@ const imgTest = { imgSatie: path.join(imgFolder, 'Ericsatie.jpg') } -describe('read Image', () => { - +describe('Test getImage()', () => { test('Correct local jpg', async () => { - const [img, size] = await readImage(imgTest.img) + const [img, size] = await getImage(imgTest.img) expect(img.bitmap.width).toBe(imgTest.width) expect(img.bitmap.height).toBe(imgTest.height) expect(size.width).toBe(imgTest.width) @@ -25,13 +26,13 @@ describe('read Image', () => { }) test('Incorrect local jpg', async () => { - await expect(readImage(imgTest.imgBad)).rejects.toThrow(SpliteaError) + await expect(getImage(imgTest.imgBad)).rejects.toThrow(SpliteaError) }) }) -describe('Get Split Image', () => { +describe('Test getSplitImages()', () => { test('Correct splits', async () => { - const [img, size] = await readImage(imgTest.img) + const [img, size] = await getImage(imgTest.img) const tile: TileCoordinates = { x: 0, y: 0, width: size.width, height: size.height } let newImage = getSplitImages(img, [tile])[0] expect(newImage.bitmap.width).toBe(tile.width) @@ -46,7 +47,7 @@ describe('Get Split Image', () => { }) test('Incorrect splits', async () => { - const [img, size] = await readImage(imgTest.img) + const [img, size] = await getImage(imgTest.img) const tile: TileCoordinates = { x: 1, y: 1, width: size.width, height: size.height } expect(() => getSplitImages(img, [tile])).toThrow(SpliteaError) tile.x = (size.width / 2) + 1 @@ -62,10 +63,10 @@ describe('Get Split Image', () => { }) }) -describe('Unique tiles', () => { - test('Test areEqualImages', async () => { - const [img, _] = await readImage(imgTest.img) - const [imgSatie, __] = await readImage(imgTest.imgSatie) +describe('Test getUniqueImages()', () => { + test('Checking Equal Images', async () => { + const [img, _] = await getImage(imgTest.img) + const [imgSatie, __] = await getImage(imgTest.imgSatie) // Equals expect(areEqualImages(img, img)).toBeTruthy() expect(areEqualImages(imgSatie, imgSatie)).toBeTruthy() @@ -74,17 +75,54 @@ describe('Unique tiles', () => { expect(areEqualImages(imgSatie, img)).toBeFalsy() }) - test('getUniqueImages', async () => { - const [img1, _i1] = await readImage(imgTest.img) - // const [img2, _i2] = await readImage(imgTest.img) - const [imgSatie1, _is1] = await readImage(imgTest.imgSatie) - // const [imgSatie2, _is2] = await readImage(imgTest.imgSatie) + test('Getting Unique Images', async () => { + const [img1, _i1] = await getImage(imgTest.img) + const [imgSatie1, _is1] = await getImage(imgTest.imgSatie) const uniques = getUniqueImages([img1, imgSatie1, img1, imgSatie1]) - // const uniques = getUniqueImages([img1, imgSatie1, img2, imgSatie2]) expect(uniques.length).toBe(2) const i1 = uniques[0] const is1 = uniques[1] expect(areEqualImages(i1, img1)).toBeTruthy() expect(areEqualImages(is1, imgSatie1)).toBeTruthy() }) +}) + +describe('Test writeImages()', () => { + test(' checking writting', async () => { + const image1 = imgTest.img + const [jimp1, _size1] = await getImage(image1) + + const image2 = imgTest.imgSatie + const [jimp2, _size2] = await getImage(image2) + + const data1 = { path: __dirname, name: 'test', extension: jimp1.getExtension() } + + const paths = await writeImages([jimp1, jimp2], data1.path, data1.name, data1.extension) + paths.forEach(async (path) => { + expect(() => fs.stat(path)).not.toThrowError() + await fs.rm(path) + }) + }) +}) + +describe('Test getbufferImages()', () => { + test('checking buffers', async () => { + const image1 = imgTest.img + const [jimp1, _size1] = await getImage(image1) + + const image2 = imgTest.imgSatie + const [jimp2, _size2] = await getImage(image2) + + const buffers = await getBufferImages([jimp1, jimp2]) + + buffers.forEach(async (buffer) => { + expect(buffer).toBeInstanceOf(Buffer) + }) + + // const imageBuffer1 = await fs.readFile(image1) + // expect(Buffer.compare(imageBuffer1, buffers[0])).toBe(0) + // const imageBuffer2 = await fs.readFile(image2) + // expect(Buffer.compare(imageBuffer2, buffers[1])).toBe(0) + + }) }) \ No newline at end of file From 624bf455fc44a16511ff9ad813444ffd7a09a5e2 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Tue, 15 Aug 2023 17:24:14 +0200 Subject: [PATCH 32/64] tested tiles --- tests/tiles/index.test.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/tiles/index.test.ts b/tests/tiles/index.test.ts index 3cb58d6..b7d925b 100644 --- a/tests/tiles/index.test.ts +++ b/tests/tiles/index.test.ts @@ -1,6 +1,6 @@ import path from 'node:path' import { describe, test, expect } from 'vitest' -import { areEqualImages, getUniqueImages, readImage } from '../../src/image' +import { getImage } from '../../src/image' import { getTiles } from '../../src/tiles' import { Tiles } from '../../src/types' const imgFolder = path.join(__dirname, '..') @@ -24,7 +24,7 @@ const tilesTestVertical: Tiles = { ...tilesTest, mode: 'vertical' } describe('Get Horizontal Tiles', () => { test('Providing width', async () => { - const [img, size] = await readImage(imgTest.img) + const [img, size] = await getImage(imgTest.img) const tiles: Tiles = { ...tilesTestHorizontal } tiles.width = 1 expect(getTiles(img, size, tiles).length).toBe(size.width) @@ -35,7 +35,7 @@ describe('Get Horizontal Tiles', () => { }) test('Providing columns', async () => { - const [img, size] = await readImage(imgTest.img) + const [img, size] = await getImage(imgTest.img) const tiles: Tiles = { ...tilesTestHorizontal } tiles.columns = 1 expect(getTiles(img, size, tiles).length).toBe(tiles.columns) @@ -48,7 +48,7 @@ describe('Get Horizontal Tiles', () => { describe('Get Vertical Tiles', () => { test('Providing height', async () => { - const [img, size] = await readImage(imgTest.img) + const [img, size] = await getImage(imgTest.img) const tiles: Tiles = { ...tilesTestVertical } tiles.height = 1 expect(getTiles(img, size, tiles).length).toBe(size.height) @@ -59,7 +59,7 @@ describe('Get Vertical Tiles', () => { }) test('Providing rows', async () => { - const [img, size] = await readImage(imgTest.img) + const [img, size] = await getImage(imgTest.img) const tiles: Tiles = { ...tilesTestVertical } tiles.rows = 1 expect(getTiles(img, size, tiles).length).toBe(tiles.rows) @@ -72,7 +72,7 @@ describe('Get Vertical Tiles', () => { describe('Get Grid Tiles', () => { test('Providing width-height', async () => { - const [img, size] = await readImage(imgTest.img) + const [img, size] = await getImage(imgTest.img) const tiles: Tiles = { ...tilesTest } tiles.width = size.width tiles.height = size.height @@ -93,7 +93,7 @@ describe('Get Grid Tiles', () => { }) test('Providing rows-columns', async () => { - const [img, size] = await readImage(imgTest.img) + const [img, size] = await getImage(imgTest.img) const tiles: Tiles = { ...tilesTest } tiles.rows = 1 tiles.columns = 1 From 97f9aece784301d38d3118cf46d913856f8c6acc Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Tue, 15 Aug 2023 18:08:10 +0200 Subject: [PATCH 33/64] output tested --- src/output.ts | 22 +++++++++++++++++-- tests/output.test.ts | 50 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 68 insertions(+), 4 deletions(-) diff --git a/src/output.ts b/src/output.ts index 22f9426..d7dbcfa 100644 --- a/src/output.ts +++ b/src/output.ts @@ -1,6 +1,8 @@ import { existsSync, accessSync, constants } from 'node:fs' import { SpliteaError, ThrowSpliteaError } from "./errors" -import { Output, OutputSchema, StoreSchema } from "./types" +import { ExtensionSchema, Image, Output, OutputSchema, StoreSchema } from "./types" +import Jimp from 'jimp' +import { getBufferImages, writeImages } from './image' const checkPath = (path: string): void => { // Check if path exist @@ -36,9 +38,25 @@ const checkName = (name: string): void => { export const checkOutput = (output: Output): void => { const { response, store } = OutputSchema.parse(output) - if (response === 'path') { + if (response === 'path' || store !== undefined) { const { path, name } = StoreSchema.parse(store) checkPath(path) checkName(name) } +} + +export const getOutput = async (images: Jimp[], output: Output): Promise => { + if (images.length === 0) return [] + const { response, store } = output + // Storage if neccessary + if (store) { + const { path, name, extension: ext } = store + const extension = ext ?? ExtensionSchema.parse(images[0].getExtension()) + const paths = await writeImages(images, path, name, extension) + // Response are paths + if (response === 'path') return paths + } + // Luego devolver si es buffer o path + const buffers =await getBufferImages(images) + return buffers } \ No newline at end of file diff --git a/tests/output.test.ts b/tests/output.test.ts index 45d74c1..b315cc4 100644 --- a/tests/output.test.ts +++ b/tests/output.test.ts @@ -1,16 +1,28 @@ import fs from 'node:fs' +import * as FsSync from 'node:fs/promises' import path from 'node:path' import { describe, test, expect } from 'vitest' -import { checkOutput } from '../src/output' +import { checkOutput, getOutput } from '../src/output' import { SpliteaError } from '../src/errors' import { Output } from '../src/types' +import { getImage } from '../src/image' + +const imgFolder = path.join(__dirname) + +const imgTest = { + img: path.join(imgFolder, 'forestmap.png'), + imgBad: path.join(imgFolder, 'forestmapp.png'), + width: 320, + height: 224, + imgSatie: path.join(imgFolder, 'Ericsatie.jpg') +} describe('checkOutput - response "buffer"', () => { test('response buffer', () => { const output: Output = { response: 'buffer' } expect(() => checkOutput(output)).not.toThrowError() output.store = { path: 'as?..jhfla', name: '?>.fdsg/.' } - expect(() => checkOutput(output)).not.toThrowError() + expect(() => checkOutput(output)).toThrowError() }) }) @@ -84,3 +96,37 @@ describe('checkOutput - response "path"', () => { }) }) + +describe('getOutput', async () => { + const images = await Promise.all( + [await getImage(imgTest.img), await getImage(imgTest.imgSatie)] + ).then(response => [response[0][0], response[1][0]]) + const output: Output = { + response: 'buffer' + } + + test('response = "buffer", store = undefined', async () => { + const buffers = await getOutput(images, output) + expect(buffers).toHaveLength(2) + expect(buffers[0]).toBeInstanceOf(Buffer) + }) + + test('response = "buffer", store != undefined', async () => { + output.store = { path: __dirname, name: 'test'} + const buffers = await getOutput(images, output) + expect(buffers).toHaveLength(2) + expect(buffers[0]).toBeInstanceOf(Buffer) + }) + + test('response = "path", store != undefined', async () => { + output.response = 'path' + output.store = { path: __dirname, name: 'test'} + const paths = await getOutput(images, output) + expect(paths).toHaveLength(2) + console.log( paths[0] instanceof String) + expect(typeof paths[0]).toEqual('string') + await Promise.all( + paths.map(async (path) => await FsSync.rm(path)) + ) + }) +}) From 46e4c666c2e9e65d46bf7816a0e0882fc3396589 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Tue, 15 Aug 2023 18:52:31 +0200 Subject: [PATCH 34/64] create path if not exists --- src/output.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/output.ts b/src/output.ts index d7dbcfa..c17c3c4 100644 --- a/src/output.ts +++ b/src/output.ts @@ -1,14 +1,16 @@ -import { existsSync, accessSync, constants } from 'node:fs' +import { existsSync, accessSync, constants, mkdirSync } from 'node:fs' import { SpliteaError, ThrowSpliteaError } from "./errors" import { ExtensionSchema, Image, Output, OutputSchema, StoreSchema } from "./types" import Jimp from 'jimp' import { getBufferImages, writeImages } from './image' const checkPath = (path: string): void => { - // Check if path exist - if (!existsSync(path)) { throw new SpliteaError(`Not exists path ${path}`) } - // Check if can write try { + // Check if path not exist, create + if (!existsSync(path)) { + mkdirSync(path) + } + // Check if can write accessSync(path, constants.W_OK) } catch (err) { throw ThrowSpliteaError(err, `Problems parsing path ${path}`) From f6648b71c7d4f0833c9784ef8b6bf160008719f2 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sat, 2 Sep 2023 13:38:17 +0200 Subject: [PATCH 35/64] moving check logic to schemas --- src/constants.ts | 2 + src/types.ts | 163 ++++++++++++++++++++++++++++++++++++++----- tests/types.test.ts | 165 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 311 insertions(+), 19 deletions(-) create mode 100644 src/constants.ts create mode 100644 tests/types.test.ts diff --git a/src/constants.ts b/src/constants.ts new file mode 100644 index 0000000..c731867 --- /dev/null +++ b/src/constants.ts @@ -0,0 +1,2 @@ +export const MIN_DISTANCE = 0.01 +export const MIN_DIFFERENCE = 0.01 \ No newline at end of file diff --git a/src/types.ts b/src/types.ts index 1e8c663..6488fd2 100755 --- a/src/types.ts +++ b/src/types.ts @@ -1,6 +1,8 @@ import Jimp from 'jimp' import { z } from 'zod' +import { MIN_DIFFERENCE, MIN_DISTANCE } from './constants' +import { isSubmultiple } from './utils' export const BooleanSchema = z.boolean() export type Boolean = z.infer @@ -16,6 +18,19 @@ export const NaturalSchema = z.number().int().nonnegative() export type Natural = z.infer export const NaturalOptionalSchema = NaturalSchema.default(0) export type NaturalOptional = z.infer +// Image ---------------------------------------------------------------------- +export const BufferSchema = z.instanceof(Buffer) + +export const JimpSchema = z.instanceof(Jimp) + +export const ImageSchema = z.union([StringSchema, BufferSchema]) +export type Image = z.infer + +export const SizeSchema = z.object({ + width: NaturalSchema.positive(), + height: NaturalSchema.positive() +}) +export type Size = z.infer /** Tiles --------------------------------------------------------------------- * 1. Slice Mode -> mode => "grid" | "vertical" | "horizontal" * 2. Options for the slices @@ -24,24 +39,148 @@ export type NaturalOptional = z.infer * 2.3 Horizontal tiles -> columns | width * 3. Non-repeated tiles -> unique => false (default) | true */ -export const ModeSchema = z.enum(['horizontal', 'vertical', 'grid']) +export const ModeSchema = z.union([z.literal('horizontal'),z.literal('vertical'), z.literal('grid')]) export type Mode = z.infer +export const UniqueSchema = z.object({ + enable: z.boolean().default(false), + distance: z.number().min(0).max(1).default(MIN_DISTANCE), + difference: z.number().min(0).max(1).default(MIN_DIFFERENCE), + requirement: z.union([z.literal('one'), z.literal('both')]).default('both').default('both') +}) +export type Unique = z.infer + export const TilesSchema = z.object({ mode: ModeSchema, rows: NaturalOptionalSchema, columns: NaturalOptionalSchema, width: NaturalOptionalSchema, height: NaturalOptionalSchema, - unique: BooleanOptionalSchema, + unique: UniqueSchema.default({}), }) export type Tiles = z.infer -export const HorizontalTilesSchema = TilesSchema.pick({ columns: true, width: true }) +export const HorizontalTilesSchema = TilesSchema + .pick({ columns: true, width: true }) + .extend({ size: SizeSchema }) + .superRefine((args, ctx) => { + const { columns, width, size } = args + if (columns === 0 && width === 0) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'Provide at least columns or width (px)' + }) + } + if (columns > 0 && width > 0) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'Provide columns or width (px), not both' + }) + } + if (columns > 0 && !isSubmultiple(size.width, columns)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `columns (${columns}) have to be a submultiple of ${size.width} px` + }) + } + if (width > 0 && !isSubmultiple(size.width, width)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `width (${width}px) have to be a submultiple of ${size.width} px` + }) + } + }) export type HorizontalTiles = z.infer -export const VerticalTilesSchema = TilesSchema.pick({ rows: true, height: true }) + +export const VerticalTilesSchema = TilesSchema + .pick({ rows: true, height: true }) + .extend({ size: SizeSchema }) + .superRefine((args, ctx) => { + const { rows, height, size } = args + if (rows === 0 && height === 0) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'Provide at least one, rows or height (px)' + }) + } + if (rows > 0 && height > 0) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'Provide rows or height (px), not both' + }) + } + if (rows > 0 && !isSubmultiple(size.height, rows)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `rows (${rows}) have to be a submultiple of ${size.height} px` + }) + } + if (height > 0 && !isSubmultiple(size.width, height)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `height (${height}px) have to be a submultiple of ${size.height} px` + }) + } + }) export type VerticalTiles = z.infer -export const GridTilesSchema = TilesSchema.omit({ mode: true, unique: true }) + +export const GridTilesSchema = TilesSchema + .omit({ mode: true, unique: true }) + .extend({ size: SizeSchema }) + .superRefine((args, ctx) => { + const { rows, columns, width, height, size } = args + if (rows === 0 && columns === 0 && width === 0 && height === 0) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'Provide a pair columns + rows or height (px) + width (px)' + }) + } + if (rows > 0 && height > 0) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `Provide rows or height, but not both` + }) + } + // Just Columns or Width but not both + if (columns > 0 && width > 0) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `Provide columns or width, but not both` + }) + } + // Just Rows + Columns + if ((rows > 0 && columns > 0) && (width > 0 || height > 0)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `If you entered rows + columns, width and height don't have to be entered` + }) + } + // Just Width + Height + if ((width > 0 && height > 0) && (rows > 0 || columns > 0)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `If you entered width + height, rows and columns don't have to be entered` + }) + } + // Image Width + Height are multiple of Columns + Rows + if ( (rows > 0 && columns > 0) && !( isSubmultiple(size.height, rows) && isSubmultiple(size.width, columns) ) ) { + let msg = `rows (${rows}) have to be a submultiple of ${size.height} px\n` + msg += `columns (${columns}) have to be a submultiple of ${size.width} px` + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: msg + }) + } + // Image Width + Height are multiple of Width + Height + if ( (width > 0 && height > 0) && !( isSubmultiple(size.width, width) && isSubmultiple(size.height, height ) ) ) { + let msg = `width (${width}) have to be a submultiple of ${size.width} px\n` + msg += `height (${height}) have to be a submultiple of ${size.height} px` + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: msg + }) + } + }) export type GridTiles = z.infer export const TileCoordinatesSchema = z.object({ @@ -78,17 +217,3 @@ export const OutputSchema = z.object({ store: StoreSchema.optional() }) export type Output = z.infer -// Other ---------------------------------------------------------------------- -export const SizeSchema = z.object({ - width: NaturalSchema.positive(), - height: NaturalSchema.positive() -}) -export type Size = z.infer - -export const BufferSchema = z.instanceof(Buffer) - -export const JimpSchema = z.instanceof(Jimp) - -export const ImageSchema = z.union([StringSchema, BufferSchema]) - -export type Image = z.infer diff --git a/tests/types.test.ts b/tests/types.test.ts new file mode 100644 index 0000000..6ff0f13 --- /dev/null +++ b/tests/types.test.ts @@ -0,0 +1,165 @@ +import { describe, test, expect } from 'vitest' +import { + Size, SizeSchema, + Tiles, TilesSchema, + HorizontalTiles, HorizontalTilesSchema, + VerticalTiles, VerticalTilesSchema, + GridTiles, GridTilesSchema, +} from '../src/types' +import { MIN_DIFFERENCE, MIN_DISTANCE } from '../src/constants' + +describe('Size', () => { + test('test Size', () => { + const size: Size = {} as Size + expect(() => SizeSchema.parse(size)).toThrowError() + size.width = -1 + size.height = 5.0 + expect(() => SizeSchema.parse(size)).toThrowError() + size.width = 1.2 + expect(() => SizeSchema.parse(size)).toThrowError() + size.width = 1 + expect(() => SizeSchema.parse(size)).not.toThrowError() + expect(SizeSchema.parse(size)).toStrictEqual({ width: 1, height: 5}) + }) +}) + +describe('Tiles', () => { + const tilesModel: Tiles = { + mode: 'horizontal', + rows: 0, columns: 0, + width: 0, height: 0, + unique: { + enable: false, + distance: MIN_DISTANCE, + difference: MIN_DIFFERENCE, + requirement: 'both' + } + } + const sizeModel: Size = { width: 20, height: 30 } + + test('test Tiles', () => { + const tiles : Tiles = {} as Tiles + let result = TilesSchema.safeParse(tiles) + expect(result.success).toBeFalsy(); + ['horizontal', 'vertical', 'grid'].forEach(mode => { + tiles.mode = mode + result = TilesSchema.safeParse(tiles) + const expected = { ...tilesModel, mode } + expect(result.success).toBeTruthy() + expect(result?.data).toStrictEqual(expected) + }); + }) + + test('test Horizontal', () => { + const mode = 'horizontal' + const size = {...sizeModel } + const tiles: Tiles = { mode } as Tiles + const horizontal: HorizontalTiles = {...tiles, size} + // Empty columns width + let result = HorizontalTilesSchema.safeParse(horizontal) + expect(result.success).toBeFalsy() + // Both columns width + horizontal.columns = 1 + horizontal.width = 1 + result = HorizontalTilesSchema.safeParse(horizontal) + expect(result.success).toBeFalsy() + // Just columns + horizontal.columns = 10 + horizontal.width = 0 + result = HorizontalTilesSchema.safeParse(horizontal) + expect(result.success).toBeTruthy() + // Just width + horizontal.columns = 0 + horizontal.width = 5 + result = HorizontalTilesSchema.safeParse(horizontal) + expect(result.success).toBeTruthy() + // Does not mind rows and height + horizontal.rows = 1 + horizontal.height = 1 + result = HorizontalTilesSchema.safeParse(horizontal) + expect(result.success).toBeTruthy() + }) + + test('test Vertical', () => { + const mode = 'vertical' + const size = {...sizeModel } + const tiles: Tiles = { mode } as Tiles + const vertical: VerticalTiles = {...tiles, size} + // Empty rows height + let result = VerticalTilesSchema.safeParse(vertical) + expect(result.success).toBeFalsy() + // Both rows height + vertical.rows = 1 + vertical.height = 1 + result = VerticalTilesSchema.safeParse(vertical) + expect(result.success).toBeFalsy() + // Just rows + vertical.rows = 10 + vertical.height = 0 + result = VerticalTilesSchema.safeParse(vertical) + expect(result.success).toBeTruthy() + // Just height + vertical.rows = 0 + vertical.height = 5 + result = VerticalTilesSchema.safeParse(vertical) + expect(result.success).toBeTruthy() + // Does not mind columns and width + vertical.columns = 1 + vertical.width = 1 + result = VerticalTilesSchema.safeParse(vertical) + expect(result.success).toBeTruthy() + }) + + test('test Grid', () => { + const mode = 'grid' + const size = {...sizeModel } + const tiles: Tiles = { mode } as Tiles + const grid: GridTiles = {...tiles, size} + // Empty rows+columns + width+height + let result = GridTilesSchema.safeParse(grid) + expect(result.success).toBeFalsy() + // Both rows+columns + width+height + grid.rows = 1 + grid.columns = 1 + grid.width = 1 + grid.height = 1 + result = GridTilesSchema.safeParse(grid) + expect(result.success).toBeFalsy() + // Just rows+columns + grid.rows = 10 + grid.columns = 5 + grid.width = 0 + grid.height = 0 + result = GridTilesSchema.safeParse(grid) + expect(result.success).toBeTruthy() + // Just width+height + grid.rows = 0 + grid.columns = 0 + grid.width = 10 + grid.height = 5 + result = GridTilesSchema.safeParse(grid) + expect(result.success).toBeTruthy() + // Just rows+columns not width or height + grid.rows = 10 + grid.columns = 5 + grid.width = 1 + grid.height = 0 + result = GridTilesSchema.safeParse(grid) + expect(result.success).toBeFalsy() + grid.width = 0 + grid.height = 1 + result = GridTilesSchema.safeParse(grid) + expect(result.success).toBeFalsy() + // Just width+height not rows or columns + grid.width = 10 + grid.height = 5 + grid.rows = 1 + grid.columns = 0 + result = GridTilesSchema.safeParse(grid) + expect(result.success).toBeFalsy() + grid.rows = 0 + grid.columns = 1 + result = GridTilesSchema.safeParse(grid) + expect(result.success).toBeFalsy() + }) +}) \ No newline at end of file From 45db61448c40aa3b89592b8e6f571533a17cd264 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 3 Sep 2023 10:26:38 +0200 Subject: [PATCH 36/64] adding logic to schemas for tiles cut --- src/types.ts | 96 ++++++++++++++++++++++++++++++++++++++++----- tests/types.test.ts | 65 ++++++++++++++++++++++++++++++ 2 files changed, 151 insertions(+), 10 deletions(-) diff --git a/src/types.ts b/src/types.ts index 6488fd2..53c3e6a 100755 --- a/src/types.ts +++ b/src/types.ts @@ -1,8 +1,8 @@ - +import { existsSync, mkdirSync, accessSync, constants } from 'node:fs' import Jimp from 'jimp' import { z } from 'zod' import { MIN_DIFFERENCE, MIN_DISTANCE } from './constants' -import { isSubmultiple } from './utils' +import { invalidFilename, isSubmultiple } from './utils' export const BooleanSchema = z.boolean() export type Boolean = z.infer @@ -183,6 +183,42 @@ export const GridTilesSchema = TilesSchema }) export type GridTiles = z.infer +export const TilesCutSchema = z.object({ + tileWidth: NaturalSchema, + tileHeight: NaturalSchema, + imageWidth: NaturalSchema, + imageHeight: NaturalSchema, +}).superRefine((val, ctx) => { + const { tileWidth, tileHeight, imageWidth, imageHeight } = val + // width + if (tileWidth > imageWidth) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `tile width ${tileWidth} cannot be bigger than image width ${imageWidth}` + }) + } + if (!NaturalSchema.multipleOf(tileWidth).safeParse(imageWidth).success) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `tile width ${tileWidth} has to be a submultiple of image width ${imageWidth}` + }) + } + // height + if (tileHeight > imageHeight) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `tile height ${tileHeight} cannot be bigger than image height ${imageHeight}` + }) + } + if (!NaturalSchema.multipleOf(tileHeight).safeParse(imageHeight).success) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `tile height ${tileHeight} has to be a submultiple of image height ${imageHeight}` + }) + } +}) +export type TilesCut = z.infer + export const TileCoordinatesSchema = z.object({ x: NaturalSchema, y: NaturalSchema, @@ -197,23 +233,63 @@ export type TileCoordinates = z.infer * 2.2 Name preffix to slices -> name * 2.3 Extension to store tiles -> extension => "jpg" | "png" | "bmp" | "gif" | "tiff" **/ -export const ResponseSchema = z.enum(['buffer', 'path']) -export type Data = z.infer +export const ResponseSchema = z.union([z.literal('buffer'), z.literal('path')]) +export type Response = z.infer + +export const PathSchema = z.string().superRefine((path, ctx) => { + try { + // If path does not exist, create it + if (!existsSync(path)) { + mkdirSync(path) + } + // Check write permissions + accessSync(path, constants.W_OK) + } catch (err) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `Problems with path = "${path}"` + }) + } +}) +export type Path = z.infer + +export const FilenameSchema = z.string().superRefine((filename, ctx) => { + if (invalidFilename(filename)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `Invalid filename -> ${filename}` + }) + } +}) +export type Filename = z.infer -export const ExtensionSchema = z.enum(['jpg', 'jpeg', 'png', 'bmp', 'gif', 'tiff']) +export const ExtensionSchema = z.union([ + z.literal('jpg'), z.literal('jpeg'), + z.literal('png'), z.literal('bmp'), + z.literal('gif'), z.literal('tiff') +]) export type Extension = z.infer -export const ExtensionOptionalSchema = ExtensionSchema.optional() -export type ExtensionOptional = z.infer export const StoreSchema = z.object({ - path: StringSchema, - name: StringSchema, - extension: ExtensionOptionalSchema + path: PathSchema, + name: FilenameSchema, + extension: ExtensionSchema.optional() }) export type Store = z.infer export const OutputSchema = z.object({ response: ResponseSchema.default('buffer'), store: StoreSchema.optional() +}).superRefine((val, ctx) => { + const { response, store } = val + if (response === 'path' && store === undefined) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'To response with path, store argument has to be passed' + }) + } + if (store !== undefined) { + StoreSchema.parse(store) + } }) export type Output = z.infer diff --git a/tests/types.test.ts b/tests/types.test.ts index 6ff0f13..7a0c134 100644 --- a/tests/types.test.ts +++ b/tests/types.test.ts @@ -1,3 +1,4 @@ +import { rmdirSync } from 'node:fs' import { describe, test, expect } from 'vitest' import { Size, SizeSchema, @@ -5,6 +6,8 @@ import { HorizontalTiles, HorizontalTilesSchema, VerticalTiles, VerticalTilesSchema, GridTiles, GridTilesSchema, + Output, OutputSchema, + TilesCut, TilesCutSchema, } from '../src/types' import { MIN_DIFFERENCE, MIN_DISTANCE } from '../src/constants' @@ -162,4 +165,66 @@ describe('Tiles', () => { result = GridTilesSchema.safeParse(grid) expect(result.success).toBeFalsy() }) +}) + +describe('Tiles Cut', () => { + test('test Tiles Cut', () => { + const tilesCut: TilesCut = {} as TilesCut + // Empty + expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + tilesCut.imageWidth = 20 + tilesCut.imageHeight = 30 + tilesCut.tileWidth = 2 + tilesCut.tileHeight = 3 + // Correct + expect(TilesCutSchema.safeParse(tilesCut).success).toBeTruthy() + // Bigger than limits + tilesCut.tileWidth = tilesCut.imageWidth + 1 + tilesCut.tileHeight = 10 + expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + tilesCut.tileWidth = 10 + tilesCut.tileHeight = tilesCut.imageHeight + 1 + expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + // Not submultiples + tilesCut.tileWidth = 0 + expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + tilesCut.tileWidth = 3 + expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + tilesCut.tileWidth = 10 + tilesCut.tileHeight = 0 + expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + tilesCut.tileHeight = 9 + expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + }) +}) + +describe('Output', () => { + test('test Output', () => { + const output: Output = {} as Output + // Empty => buffer response + let result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + expect(result.data.response).toStrictEqual('buffer') + // Response = path No store + output.response = 'path' + result = OutputSchema.safeParse(output) + expect(result.success).toBeFalsy() + // Response = path + Store + output.store = { + path: './', + name: 'store' + } + result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + output.store.path = 'store' + result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + // Response = buffer + Store + output.response = 'buffer' + result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + // Delete folder + rmdirSync(output.store.path) + + }) }) \ No newline at end of file From 9191ae6de566634decea8cc4206f16cde59478c5 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 3 Sep 2023 12:12:47 +0200 Subject: [PATCH 37/64] tiles full tested and independant from images --- src/tiles.ts | 85 ++++++++++++++++++++++++ src/tiles/grid.ts | 74 --------------------- src/tiles/horizontal.ts | 41 ------------ src/tiles/index.ts | 42 ------------ src/tiles/vertical.ts | 41 ------------ tests/chess.png | Bin 0 -> 14926 bytes tests/tiles.test.ts | 94 +++++++++++++++++++++++++++ tests/tiles/grid.test.ts | 74 --------------------- tests/tiles/horizontal.test.ts | 39 ----------- tests/tiles/index.test.ts | 115 --------------------------------- tests/tiles/vertical.test.ts | 39 ----------- 11 files changed, 179 insertions(+), 465 deletions(-) create mode 100644 src/tiles.ts delete mode 100644 src/tiles/grid.ts delete mode 100644 src/tiles/horizontal.ts delete mode 100644 src/tiles/index.ts delete mode 100644 src/tiles/vertical.ts create mode 100644 tests/chess.png create mode 100644 tests/tiles.test.ts delete mode 100644 tests/tiles/grid.test.ts delete mode 100644 tests/tiles/horizontal.test.ts delete mode 100644 tests/tiles/index.test.ts delete mode 100644 tests/tiles/vertical.test.ts diff --git a/src/tiles.ts b/src/tiles.ts new file mode 100644 index 0000000..e2c819c --- /dev/null +++ b/src/tiles.ts @@ -0,0 +1,85 @@ +import { + Size, + Tiles, TilesSchema, + HorizontalTilesSchema, HorizontalTiles, + VerticalTilesSchema, VerticalTiles, + GridTilesSchema, GridTiles, + TilesCutSchema, TilesCut, + TileCoordinatesSchema, TileCoordinates, +} from "./types" +import { ThrowSpliteaError } from "./errors" + +export const checkTiles = (tiles: Tiles, size: Size): void => { + const { mode } = TilesSchema.parse(tiles) + const parser = { + // Mode horizontal -> Columns || Width + 'horizontal': HorizontalTilesSchema, + // Mode Vertical -> Rows || Height + 'vertical': VerticalTilesSchema, + // Mode Grid -> rows + columns || width + height + 'grid': GridTilesSchema + } + parser[mode].parse({ ...tiles, size }) +} + +const getCoordinates = (tilesCut: TilesCut): TileCoordinates[] => { + try { + const { tileWidth, tileHeight, imageWidth, imageHeight } = tilesCut + const arrayX = new Array(imageWidth / tileWidth).fill(0) + const arrayY = new Array(imageHeight / tileHeight).fill(0) + // Move by row + return arrayY.map((_y, indexY) => { + const y = tileHeight * indexY + // Move by column + return arrayX.map((_x, indexX) => { + const x = tileWidth * indexX + return TileCoordinatesSchema.parse({ x, y, width: tileWidth, height: tileHeight }) + }) + }).flat() + } catch (error) { + throw ThrowSpliteaError(error, 'Problem with getting tiles') + } +} + +const getHorizontalTiles = (tiles: HorizontalTiles): TileCoordinates[] => { + const { width , columns, size } = HorizontalTilesSchema.parse(tiles) + const tilesCut = TilesCutSchema.parse({ + tileWidth: (width > 0) ? width : size.width / columns, + tileHeight: size.height, + imageWidth: size.width, + imageHeight: size.height, + }) + return getCoordinates(tilesCut) +} + +const getVerticalTiles = (tiles: VerticalTiles): TileCoordinates[] => { + const { height, rows, size } = VerticalTilesSchema.parse(tiles) + const tilesCut = TilesCutSchema.parse({ + tileWidth: size.width, + tileHeight: (height > 0) ? height : size.height / rows, + imageWidth: size.width, + imageHeight: size.height, + }) + return getCoordinates(tilesCut) +} + +const getGridTiles = (tiles: GridTiles): TileCoordinates[] => { + const { width, height, rows, columns, size } = GridTilesSchema.parse(tiles) + const tilesCut = TilesCutSchema.parse({ + tileWidth: (width > 0) ? width : size.width / columns, + tileHeight: (height > 0) ? height : size.height / rows, + imageWidth: size.width, + imageHeight: size.height, + }) + return getCoordinates(tilesCut) +} + +export const getTilesCoordinates = (size: Size, tiles: Tiles): TileCoordinates[] => { + const parser = { + 'horizontal': getHorizontalTiles, + 'vertical': getVerticalTiles, + 'grid': getGridTiles + } + // Get coordinates + return parser[tiles.mode]({...tiles, size }) +} diff --git a/src/tiles/grid.ts b/src/tiles/grid.ts deleted file mode 100644 index 17cb181..0000000 --- a/src/tiles/grid.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { GridTiles, Size, TileCoordinates, TileCoordinatesSchema } from "../types" -import { SpliteaError, ThrowSpliteaError } from "../errors" -import { isSubmultiple } from "../utils" - -const checkNonZero = (tiles: GridTiles): void => { - const { rows, columns, width, height } = tiles - if (rows === 0 && columns === 0 && width === 0 && height === 0) { - const msg = 'you need to provide two non zero natural numbers, columns + rows or height (px) + width (px)' - throw new SpliteaError(msg) - } -} - -const checkRowsColumsOrWidthHeight = (tiles: GridTiles): void => { - const { rows, columns, width, height } = tiles - // Just Rows or Height but not both - if (rows > 0 && height > 0) { - throw new SpliteaError(`You have to enter rows or height, but not both`) - } - // Just Columns or Width but not both - if (columns > 0 && width > 0) { - throw new SpliteaError(`You have to enter columns or width, but not both`) - } - // Just Rows + Columns - if ((rows > 0 && columns > 0) && (width > 0 || height > 0)) { - throw new SpliteaError(`If you entered rows + columns, width and height don't have to be entered`) - } - // Just Width + Height - if ((width > 0 && height > 0) && (rows > 0 || columns > 0)) { - throw new SpliteaError(`If you entered width + height, rows and columns don't have to be entered`) - } -} - -export const checkGridTiles = (tiles: GridTiles, size: Size): void => { - const { rows, columns, width, height } = tiles - // At least Rows + Columns or Width + Height is non zero - checkNonZero(tiles) - // Just Rows + Columns or Width + Height but bot both - checkRowsColumsOrWidthHeight(tiles) - // Image Width + Height are multiple of Columns + Rows - if ((rows > 0 && columns > 0) && !(isSubmultiple(size.height, rows) && isSubmultiple(size.width, columns))) { - let msg = `rows (${rows}) have to be a submultiple of ${size.height} px\n` - msg += `columns (${columns}) have to be a submultiple of ${size.width} px` - throw new SpliteaError(msg) - } - // Image Width + Height are multiple of Width + Height - if ((width > 0 && height > 0) && !(isSubmultiple(size.width, width) && isSubmultiple(size.height, height))) { - let msg = `width (${width}) have to be a submultiple of ${size.width} px\n` - msg += `height (${height}) have to be a submultiple of ${size.height} px` - throw new SpliteaError(msg) - } -} - -export const getGridTiles = (size: Size, tilesWidth: number, tilesHeight: number, tilesRows: number, tilesColumns: number): TileCoordinates[] => { - try { - const { width, height } = size - const [w, tilesNumberX] = tilesWidth === 0 - ? [width / tilesColumns, tilesColumns] - : [tilesWidth, width / tilesWidth] - const [h, tilesNumberY] = tilesHeight === 0 - ? [height / tilesRows, tilesRows] - : [tilesHeight, height / tilesHeight] - const arrayX = new Array(tilesNumberX).fill(1) - const arrayY = new Array(tilesNumberY).fill(1) - return arrayX.map((_x, indexX) => { - const x = w * indexX - return arrayY.map((_y, indexY) => { - const y = h * indexY - return TileCoordinatesSchema.parse({ x, y, width: w, height: h }) - }) - }).flat() - } catch (error) { - throw ThrowSpliteaError(error, 'Problem with getting grid slices') - } -} \ No newline at end of file diff --git a/src/tiles/horizontal.ts b/src/tiles/horizontal.ts deleted file mode 100644 index 851ee7b..0000000 --- a/src/tiles/horizontal.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { HorizontalTiles, Size, TileCoordinates, TileCoordinatesSchema } from "../types" -import { SpliteaError, ThrowSpliteaError } from "../errors" -import { isSubmultiple } from "../utils" - -export const checkHorizontalTiles = (tiles: HorizontalTiles, size: Size): void => { - const { columns, width } = tiles - // At least Columns or Width is non zero - if (columns === 0 && width === 0) { - const msg = 'you need to provide one natural number, columns or width (px)' - throw new SpliteaError(msg) - } - // Just Columns or Width but not both - if (columns > 0 && width > 0) { - throw new SpliteaError(`You have to enter columns or width, but not both`) - } - // Image Width is multiple of Columns - if (columns > 0 && !isSubmultiple(size.width, columns)) { - throw new SpliteaError(`columns (${columns}) have to be a submultiple of ${size.width} px`) - } - // Image Width is multiple of Width - if (width > 0 && !isSubmultiple(size.width, width)) { - throw new SpliteaError(`width (${width}px) have to be a submultiple of ${size.width} px`) - } -} - -export const getHorizontalTiles = (size: Size, tilesWidth: number, tilesColumns: number): TileCoordinates[] => { - try { - const { width, height } = size - const [w, tilesNumber] = tilesWidth === 0 - ? [width / tilesColumns, tilesColumns] - : [tilesWidth, width / tilesWidth] - const h = height - const y = 0 - return new Array(tilesNumber).map((_, index) => { - const x = w * index - return TileCoordinatesSchema.parse({ x, y, width: w, height: h }) - }) - } catch (error) { - throw ThrowSpliteaError(error, 'Problem with getting horizontal slices') - } -} \ No newline at end of file diff --git a/src/tiles/index.ts b/src/tiles/index.ts deleted file mode 100644 index bfe37c9..0000000 --- a/src/tiles/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -import Jimp from "jimp" -import { - HorizontalTilesSchema, VerticalTilesSchema, GridTilesSchema, - Mode, ModeSchema, - Size, - Tiles, TilesSchema, TileCoordinates -} from "../types" -import { checkHorizontalTiles, getHorizontalTiles } from "./horizontal" -import { checkVerticalTiles, getVerticalTiles } from "./vertical" -import { checkGridTiles, getGridTiles } from "./grid" -import { getSplitImages } from "../image" - -const checkMode = (mode: Mode) => ModeSchema.parse(mode) - -export const checkTiles = (tiles: Tiles, size: Size): void => { - const { mode } = TilesSchema.parse(tiles) - // Mode - checkMode(mode) - // Mode horizontal -> Columns || Width - if (mode === 'horizontal') { checkHorizontalTiles(HorizontalTilesSchema.parse(tiles), size) } - // Mode Vertical -> Rows || Height - else if (mode === 'vertical') { checkVerticalTiles(VerticalTilesSchema.parse(tiles), size) } - // Mode Grid -> rows + columns || width + height - else if (mode === 'grid') { checkGridTiles(GridTilesSchema.parse(tiles), size) } -} - -const getTilesByMode = (size: Size, tiles: Tiles): TileCoordinates[] => { - const { mode, width, height, columns, rows } = tiles - // Horizontal - if (mode === 'horizontal') { return getHorizontalTiles(size, width, columns) } - // Vertical - if (mode === 'vertical') { return getVerticalTiles(size, height, rows) } - // Grid - return getGridTiles(size, width, height, rows, columns) -} - -export const getTiles = (img: Jimp, size: Size, tiles: Tiles): Jimp[] => { - // Get coordinates - const tilesCoordinates: TileCoordinates[] = getTilesByMode(size, tiles) - // Get images - return getSplitImages(img, tilesCoordinates, tiles.unique) -} diff --git a/src/tiles/vertical.ts b/src/tiles/vertical.ts deleted file mode 100644 index 99ce5a4..0000000 --- a/src/tiles/vertical.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Size, TileCoordinates, TileCoordinatesSchema, VerticalTiles } from "../types" -import { SpliteaError, ThrowSpliteaError } from "../errors" -import { isSubmultiple } from "../utils" - -export const checkVerticalTiles = (tiles: VerticalTiles, size: Size): void => { - const { rows, height } = tiles - // At least Rows or Height is non zero - if (rows === 0 && height === 0) { - const msg = 'you need to provide one natural number, rows or height (px)' - throw new SpliteaError(msg) - } - // Just Rows or Height but not both - if (rows > 0 && height > 0) { - throw new SpliteaError(`You have to enter rows or height, but not both`) - } - // Image Height is multiple of Rows - if (rows > 0 && !isSubmultiple(size.height, rows)) { - throw new SpliteaError(`rows (${rows}) have to be a submultiple of ${size.height} px`) - } - // Image Height is multiple of Height - if (height > 0 && !isSubmultiple(size.height, height)) { - throw new SpliteaError(`height (${height}px) submultiple of ${size.height} px`) - } -} - -export const getVerticalTiles = (size: Size, tilesHeight: number, tilesRows: number): TileCoordinates[] => { - try { - const { width, height } = size - const w = width - const [h, tilesNumber] = tilesHeight === 0 - ? [height / tilesRows, tilesRows] - : [tilesHeight, height / tilesHeight] - const x = 0 - return new Array(tilesNumber).map((_, index) => { - const y = h * index - return TileCoordinatesSchema.parse({ x, y, width: w, height: h }) - }) - } catch (error) { - throw ThrowSpliteaError(error, 'Problem with getting vertical slices') - } -} \ No newline at end of file diff --git a/tests/chess.png b/tests/chess.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3ab4c8ea89f2498f39c265e9a38a23adb86add GIT binary patch literal 14926 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 literal 0 HcmV?d00001 diff --git a/tests/tiles.test.ts b/tests/tiles.test.ts new file mode 100644 index 0000000..81734c5 --- /dev/null +++ b/tests/tiles.test.ts @@ -0,0 +1,94 @@ +import { describe, test, expect } from 'vitest' +import { + Size, + Tiles, TilesSchema, + HorizontalTiles, HorizontalTilesSchema, +} from '../src/types' +import { getTilesCoordinates } from '../src/tiles' + +const forest = { width: 320, height: 224 } + +const satie = { width: 2651, height: 3711 } + +const chess = { width: 720, height: 720 } + +const tilesTest: Tiles = TilesSchema.parse({ mode: 'grid' }) + +describe('Get Horizontal Tiles', () => { + const tilesHorizontal: Tiles = { ...tilesTest, mode: 'horizontal' } + + test('Providing width', async () => { + const size: Size = { width: chess.width, height: chess.height } + const tiles = { ...tilesHorizontal } + tiles.width = 360 + expect(getTilesCoordinates(size, tiles).length).toBe(size.width / tiles.width) + tiles.width = size.width + expect(getTilesCoordinates(size, tiles).length).toBe(size.width / tiles.width) + }) + + test('Providing columns', async () => { + const size: Size = { width: chess.width, height: chess.height } + const tiles = { ...tilesHorizontal } + tiles.columns = 2 + expect(getTilesCoordinates(size, tiles).length).toBe(tiles.columns) + tiles.columns = size.width / 2 + expect(getTilesCoordinates(size, tiles).length).toBe(tiles.columns) + }) +}) + +describe('Get Vertical Tiles', () => { + const tilesVertical: Tiles = { ...tilesTest, mode: 'vertical' } + + test('Providing height', async () => { + const size: Size = { width: chess.width, height: chess.height } + const tiles = { ...tilesVertical } + tiles.height = 360 + expect(getTilesCoordinates(size, tiles).length).toBe(size.height / tiles.height) + tiles.height = size.height + expect(getTilesCoordinates(size, tiles).length).toBe(size.height / tiles.height) + }) + + test('Providing rows', async () => { + const size: Size = { width: chess.width, height: chess.height } + const tiles = { ...tilesVertical } + tiles.rows = 2 + let coordinates = getTilesCoordinates(size, tiles) + expect(coordinates.length).toBe(tiles.rows) + tiles.rows = size.height / 2 + expect(getTilesCoordinates(size, tiles).length).toBe(tiles.rows) + }) +}) + +describe('Get Grid Tiles', () => { + const tilesGrid: Tiles = { ...tilesTest, mode: 'grid' } + + test('Providing width + height', async () => { + const size: Size = { width: chess.width, height: chess.height } + const tiles = { ...tilesGrid } + tiles.width = 240 + tiles.height = 360 + let rows = size.height / tiles.height + let columns = size.width / tiles.width + expect(getTilesCoordinates(size, tiles).length).toBe(rows * columns) + tiles.width = 360 + tiles.height = 240 + rows = size.height / tiles.height + columns = size.width / tiles.width + expect(getTilesCoordinates(size, tiles).length).toBe(rows * columns) + }) + + test('Providing rows + columns', async () => { + const size: Size = { width: chess.width, height: chess.height } + const tiles = { ...tilesGrid } + tiles.rows = 3 + tiles.columns = 2 + let rows = tiles.rows + let columns = tiles.columns + expect(getTilesCoordinates(size, tiles).length).toBe(rows * columns) + tiles.rows = 2 + tiles.columns = 3 + rows = tiles.rows + columns = tiles.columns + expect(getTilesCoordinates(size, tiles).length).toBe(rows * columns) + }) +}) diff --git a/tests/tiles/grid.test.ts b/tests/tiles/grid.test.ts deleted file mode 100644 index 99c146a..0000000 --- a/tests/tiles/grid.test.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { describe, test, expect } from 'vitest' -import { GridTiles, Size } from '../../src/types' -import { SpliteaError } from '../../src/errors' -import { checkGridTiles } from '../../src/tiles/grid' - -describe('checkGridTiles', () => { - const size: Size = { width: 10, height: 15 } - const tiles: GridTiles = {} as GridTiles - test('No rows nor columns nor width, height', () => { - tiles.rows = 0 - tiles.columns = 0 - tiles.width = 0 - tiles.height = 0 - expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('Just rows + columns -> width and height must be 0', () => { - tiles.rows = 1 - tiles.columns = 1 - tiles.width = 0 - tiles.height = 1 - expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - tiles.rows = 1 - tiles.columns = 1 - tiles.width = 1 - tiles.height = 0 - expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('Just width + height -> rows and columns must be 0', () => { - tiles.rows = 1 - tiles.columns = 0 - tiles.width = 1 - tiles.height = 1 - expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - tiles.rows = 0 - tiles.columns = 1 - tiles.width = 1 - tiles.height = 1 - expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('Just rows + columns -> must be submultiple of height + width', () => { - tiles.rows = 3 - tiles.columns = 3 - tiles.width = 0 - tiles.height = 0 - expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - tiles.rows = 2 - tiles.columns = 3 - tiles.width = 0 - tiles.height = 0 - expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - tiles.rows = 3 - tiles.columns = 2 - tiles.width = 0 - tiles.height = 0 - expect(() => checkGridTiles(tiles, size)).not.toThrowError(SpliteaError) - }) - test('Just width + height -> must be submultiple of width + height', () => { - tiles.rows = 0 - tiles.columns = 0 - tiles.width = 3 - tiles.height = 3 - expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - tiles.rows = 0 - tiles.columns = 0 - tiles.width = 2 - tiles.height = 2 - expect(() => checkGridTiles(tiles, size)).toThrowError(SpliteaError) - tiles.rows = 0 - tiles.columns = 0 - tiles.width = 2 - tiles.height = 3 - expect(() => checkGridTiles(tiles, size)).not.toThrowError(SpliteaError) - }) -}) diff --git a/tests/tiles/horizontal.test.ts b/tests/tiles/horizontal.test.ts deleted file mode 100644 index a5fbb3c..0000000 --- a/tests/tiles/horizontal.test.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { describe, test, expect } from 'vitest' -import { HorizontalTiles, Size } from '../../src/types' -import { SpliteaError } from '../../src/errors' -import { checkHorizontalTiles } from '../../src/tiles/horizontal' - -describe('checkHorizontalTiles', () => { - const size: Size = { width: 10, height: 15 } - const tiles: HorizontalTiles = {} as HorizontalTiles - test('No columns nor width', () => { - tiles.columns = 0 - tiles.width = 0 - expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('No columns and width', () => { - tiles.columns = 3 - tiles.width = 4 - expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('Invalid columns', () => { - tiles.columns = 3 - tiles.width = 0 - expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('Valid columns', () => { - tiles.columns = 2 - tiles.width = 0 - expect(() => checkHorizontalTiles(tiles, size)).not.toThrowError(SpliteaError) - }) - test('Invalid width', () => { - tiles.columns = 0 - tiles.width = 4 - expect(() => checkHorizontalTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('Valid width', () => { - tiles.columns = 0 - tiles.width = 5 - expect(() => checkHorizontalTiles(tiles, size)).not.toThrowError(SpliteaError) - }) -}) diff --git a/tests/tiles/index.test.ts b/tests/tiles/index.test.ts deleted file mode 100644 index b7d925b..0000000 --- a/tests/tiles/index.test.ts +++ /dev/null @@ -1,115 +0,0 @@ -import path from 'node:path' -import { describe, test, expect } from 'vitest' -import { getImage } from '../../src/image' -import { getTiles } from '../../src/tiles' -import { Tiles } from '../../src/types' -const imgFolder = path.join(__dirname, '..') - -const imgTest = { - img: path.join(imgFolder, 'forestmap.png'), - imgBad: path.join(imgFolder, 'forestmapp.png'), - width: 320, - height: 224, - imgSatie: path.join(imgFolder, 'Ericsatie.jpg') -} - -const tilesTest: Tiles = { - mode: 'grid', - rows: 0, columns: 0, - width: 0, height: 0, - unique: false -} -const tilesTestHorizontal: Tiles = { ...tilesTest, mode: 'horizontal' } -const tilesTestVertical: Tiles = { ...tilesTest, mode: 'vertical' } - -describe('Get Horizontal Tiles', () => { - test('Providing width', async () => { - const [img, size] = await getImage(imgTest.img) - const tiles: Tiles = { ...tilesTestHorizontal } - tiles.width = 1 - expect(getTiles(img, size, tiles).length).toBe(size.width) - tiles.width = size.width - expect(getTiles(img, size, tiles).length).toBe(1) - tiles.width = size.width / 2 - expect(getTiles(img, size, tiles).length).toBe(2) - }) - - test('Providing columns', async () => { - const [img, size] = await getImage(imgTest.img) - const tiles: Tiles = { ...tilesTestHorizontal } - tiles.columns = 1 - expect(getTiles(img, size, tiles).length).toBe(tiles.columns) - tiles.columns = 2 - expect(getTiles(img, size, tiles).length).toBe(tiles.columns) - tiles.columns = size.width / 2 - expect(getTiles(img, size, tiles).length).toBe(tiles.columns) - }) -}) - -describe('Get Vertical Tiles', () => { - test('Providing height', async () => { - const [img, size] = await getImage(imgTest.img) - const tiles: Tiles = { ...tilesTestVertical } - tiles.height = 1 - expect(getTiles(img, size, tiles).length).toBe(size.height) - tiles.height = size.height - expect(getTiles(img, size, tiles).length).toBe(1) - tiles.height = size.height / 2 - expect(getTiles(img, size, tiles).length).toBe(2) - }) - - test('Providing rows', async () => { - const [img, size] = await getImage(imgTest.img) - const tiles: Tiles = { ...tilesTestVertical } - tiles.rows = 1 - expect(getTiles(img, size, tiles).length).toBe(tiles.rows) - tiles.rows = 2 - expect(getTiles(img, size, tiles).length).toBe(tiles.rows) - tiles.rows = size.width / 2 - expect(getTiles(img, size, tiles).length).toBe(tiles.rows) - }) -}) - -describe('Get Grid Tiles', () => { - test('Providing width-height', async () => { - const [img, size] = await getImage(imgTest.img) - const tiles: Tiles = { ...tilesTest } - tiles.width = size.width - tiles.height = size.height - let images = 1 - expect(getTiles(img, size, tiles).length).toBe(images) - tiles.width = size.width / 2 - tiles.height = size.height / 2 - images = 4 - expect(getTiles(img, size, tiles).length).toBe(images) - tiles.width = size.width - tiles.height = size.height / 2 - images = 2 - expect(getTiles(img, size, tiles).length).toBe(images) - tiles.width = size.width / 2 - tiles.height = size.height - // images = 2 - expect(getTiles(img, size, tiles).length).toBe(images) - }) - - test('Providing rows-columns', async () => { - const [img, size] = await getImage(imgTest.img) - const tiles: Tiles = { ...tilesTest } - tiles.rows = 1 - tiles.columns = 1 - let images = 1 - expect(getTiles(img, size, tiles).length).toBe(images) - tiles.rows = 1 - tiles.columns = 2 - images = 2 - expect(getTiles(img, size, tiles).length).toBe(images) - tiles.rows = 2 - tiles.columns = 1 - // images = 2 - expect(getTiles(img, size, tiles).length).toBe(images) - tiles.rows = 2 - tiles.columns = 2 - images = 4 - expect(getTiles(img, size, tiles).length).toBe(images) - }) -}) diff --git a/tests/tiles/vertical.test.ts b/tests/tiles/vertical.test.ts deleted file mode 100644 index 867b505..0000000 --- a/tests/tiles/vertical.test.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { describe, test, expect } from 'vitest' -import { Size, VerticalTiles } from '../../src/types' -import { SpliteaError } from '../../src/errors' -import { checkVerticalTiles } from '../../src/tiles/vertical' - -describe('checkVerticalTiles', () => { - const size: Size = { width: 10, height: 15 } - const tiles: VerticalTiles = {} as VerticalTiles - test('No rows nor height', () => { - tiles.rows = 0 - tiles.height = 0 - expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('No rows and height', () => { - tiles.rows = 3 - tiles.height = 5 - expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('Invalid rows', () => { - tiles.rows = 2 - tiles.height = 0 - expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('Valid rows', () => { - tiles.rows = 3 - tiles.height = 0 - expect(() => checkVerticalTiles(tiles, size)).not.toThrowError(SpliteaError) - }) - test('Invalid height', () => { - tiles.rows = 0 - tiles.height = 4 - expect(() => checkVerticalTiles(tiles, size)).toThrowError(SpliteaError) - }) - test('Valid height', () => { - tiles.rows = 0 - tiles.height = 5 - expect(() => checkVerticalTiles(tiles, size)).not.toThrowError(SpliteaError) - }) -}) From edca66994c2f85cbc1333e42ca451df81749f23a Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 3 Sep 2023 12:55:13 +0200 Subject: [PATCH 38/64] images tested completely --- src/image.ts | 58 ++++++++++--------- tests/image.test.ts | 138 +++++++++++++++++++++++++------------------- 2 files changed, 109 insertions(+), 87 deletions(-) diff --git a/src/image.ts b/src/image.ts index 1e1ebda..ca370da 100644 --- a/src/image.ts +++ b/src/image.ts @@ -1,22 +1,25 @@ import * as Path from 'node:path' import Jimp from "jimp" import { SpliteaError, ThrowSpliteaError } from "./errors" -import { Image, ImageSchema, Size, SizeSchema, TileCoordinates } from "./types" +import { Image, ImageSchema, Size, SizeSchema, TileCoordinates, Unique } from "./types" + +export const getSize = (image: Jimp): Size => SizeSchema.parse({ width: image.bitmap.width, height: image.bitmap.height}) export const getImage = async (image: Image): Promise<[Jimp, Size]> => { try { ImageSchema.parse(image) + // @ts-ignore const img = await Jimp.read(image) - const size: Size = SizeSchema.parse({ width: img.bitmap.width, height: img.bitmap.height }) + const size: Size = getSize(img) return [img, size] } catch (error) { throw ThrowSpliteaError(error, `Error reading image ${image}`) } } -const getSplitImage = (image: Jimp, tileCoordinates: TileCoordinates): Jimp => { +const getSplitImage = (image: Jimp, size: Size, tileCoordinates: TileCoordinates): Jimp => { try { - const { width, height } = image.bitmap + const { width, height } = size const { x, y, width: w, height: h } = tileCoordinates if (x === 0 && w === width && y === 0 && h === height) return image if ((x + w) > width) throw new SpliteaError(`Can't have an image of ${w}x${h}px from (${x}, ${y}) because max x value is ${width - 1}`) @@ -27,20 +30,14 @@ const getSplitImage = (image: Jimp, tileCoordinates: TileCoordinates): Jimp => { } } -export const getSplitImages = (image: Jimp, tilesCoordinate: TileCoordinates[], unique: boolean = false): Jimp[] => { - const images = tilesCoordinate.map(tileCoordinates => getSplitImage(image, tileCoordinates)) - if (unique && images.length > 1) { return getUniqueImages(images) } - return images -} - -export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { +export const areEqualImages = (img1: Jimp, img2: Jimp, unique: Unique): boolean => { + const { requirement, distance, difference } = unique try { - const distance = Jimp.distance(img1, img2) - const diff = Jimp.diff(img1, img2) - if (distance < 0.15 && diff.percent < 0.15) { - console.debug(`distance = ${distance} | diff = ${diff.percent}`) - return true - } + const dist = Jimp.distance(img1, img2) + const diff = Jimp.diff(img1, img2).percent + return ( requirement === 'both') + ? (dist < distance && diff < difference) + : (dist < distance || diff < difference) } catch (error) { console.log(error) ThrowSpliteaError(error, 'Error comparing images') @@ -48,20 +45,27 @@ export const areEqualImages = (img1: Jimp, img2: Jimp): boolean => { return false } -export const getUniqueImages = (images: Jimp[]): Jimp[] => { +export const getUniqueImages = (images: Jimp[], unique: Unique): Jimp[] => { + if (images.length < 2) return images let array = [...images] - let image: Jimp - let uniqueArray: Jimp[] = [] - while (array.length) { - image = array[0] - uniqueArray.push(image) - array = array.filter(elem => !areEqualImages(image, elem)) - } - return uniqueArray + let uniques: Jimp[] = [] + do { + console.log(`Array length ${array.length}`) + const image: Jimp = array.shift() as Jimp + uniques.push(image) + array = array.filter(elem => !areEqualImages(image, elem, unique)) + } while (array.length > 0) + return uniques +} + +export const getSplitImages = (image: Jimp, size: Size, tilesCoordinate: TileCoordinates[], unique: Unique): Jimp[] => { + const images = tilesCoordinate.map(tileCoordinates => getSplitImage(image, size, tileCoordinates)) + if (unique.enable && images.length > 1) { return getUniqueImages(images, unique) } + return images } const writeImage = async (image: Jimp, path: string, name: string, index: number | string, extension: string): Promise => { - const filename = `${name}_${index}_${new Date().getTime()}.${extension}` + const filename = `${name}_${(index).toString().padStart(3, '0')}.${extension}` const file = Path.join(path, filename) await image.writeAsync(file) return file diff --git a/tests/image.test.ts b/tests/image.test.ts index 34e905b..fb70480 100644 --- a/tests/image.test.ts +++ b/tests/image.test.ts @@ -1,99 +1,125 @@ import { Buffer } from 'node:buffer' import fs from 'node:fs/promises' import path from 'node:path' -import { areEqualImages, getSplitImages, getUniqueImages, getImage, getBufferImages, writeImages } from '../src/image' import { describe, test, expect } from 'vitest' import { SpliteaError } from '../src/errors' -import { TileCoordinates } from '../src/types' +import { TileCoordinates, UniqueSchema } from '../src/types' +import { areEqualImages, getSplitImages, getUniqueImages, getImage, getBufferImages, writeImages } from '../src/image' -const imgFolder = path.join(__dirname) +const IMG_FOLDER = path.join(__dirname) -const imgTest = { - img: path.join(imgFolder, 'forestmap.png'), - imgBad: path.join(imgFolder, 'forestmapp.png'), +const forest = { + path: path.join(IMG_FOLDER, 'forestmap.png'), width: 320, height: 224, - imgSatie: path.join(imgFolder, 'Ericsatie.jpg') + bad: path.join(IMG_FOLDER, 'forestmapp.png'), +} + +const satie = { + path: path.join(IMG_FOLDER, 'Ericsatie.jpg'), + width: 2651, + height: 3711, +} + +const chess = { + path: path.join(IMG_FOLDER, 'chess.png'), + width: 720, + height: 720, } describe('Test getImage()', () => { test('Correct local jpg', async () => { - const [img, size] = await getImage(imgTest.img) - expect(img.bitmap.width).toBe(imgTest.width) - expect(img.bitmap.height).toBe(imgTest.height) - expect(size.width).toBe(imgTest.width) - expect(size.height).toBe(imgTest.height) + Promise.all([forest, satie, chess].map(async(img) => { + const [_, size] = await getImage(img.path) + expect(size.width).toBe(img.width) + expect(size.height).toBe(img.height) + })) }) test('Incorrect local jpg', async () => { - await expect(getImage(imgTest.imgBad)).rejects.toThrow(SpliteaError) + await expect(getImage(forest.bad)).rejects.toThrow(SpliteaError) }) }) describe('Test getSplitImages()', () => { + const unique = UniqueSchema.parse({}) + test('Correct splits', async () => { - const [img, size] = await getImage(imgTest.img) + const [img, size] = await getImage(chess.path) const tile: TileCoordinates = { x: 0, y: 0, width: size.width, height: size.height } - let newImage = getSplitImages(img, [tile])[0] - expect(newImage.bitmap.width).toBe(tile.width) - expect(newImage.bitmap.height).toBe(tile.height) + let tiles = [tile] + let image = getSplitImages(img, size, tiles, unique)[0] + expect(image.bitmap.width).toBe(tile.width) + expect(image.bitmap.height).toBe(tile.height) tile.x = size.width / 2 tile.width = size.width / 2 tile.y = size.height / 2 tile.height = size.height / 2 - newImage = getSplitImages(img, [tile])[0] - expect(newImage.bitmap.width).toBe(tile.width) - expect(newImage.bitmap.height).toBe(tile.height) + tiles = [tile] + image = getSplitImages(img, size, tiles, unique)[0] + expect(image.bitmap.width).toBe(tile.width) + expect(image.bitmap.height).toBe(tile.height) }) test('Incorrect splits', async () => { - const [img, size] = await getImage(imgTest.img) + const [img, size] = await getImage(chess.path) const tile: TileCoordinates = { x: 1, y: 1, width: size.width, height: size.height } - expect(() => getSplitImages(img, [tile])).toThrow(SpliteaError) + let tiles = [tile] + expect(() => getSplitImages(img, size, tiles, unique)).toThrow(SpliteaError) tile.x = (size.width / 2) + 1 tile.width = size.width / 2 tile.y = size.height / 2 tile.height = size.height / 2 - expect(() => getSplitImages(img, [tile])).toThrow(SpliteaError) + tiles = [tile] + expect(() => getSplitImages(img, size, tiles, unique)).toThrow(SpliteaError) tile.x = size.width / 2 // w = size.width / 2 tile.y = (size.height / 2) + 1 // h = size.height / 2 - expect(() => getSplitImages(img, [tile])).toThrow(SpliteaError) + tiles = [tile] + expect(() => getSplitImages(img, size, tiles, unique)).toThrow(SpliteaError) }) }) -describe('Test getUniqueImages()', () => { +describe('Test areEqualImages()', () => { + const unique = UniqueSchema.parse({}) + test('Checking Equal Images', async () => { - const [img, _] = await getImage(imgTest.img) - const [imgSatie, __] = await getImage(imgTest.imgSatie) + const [ [img, _], [imgSatie, __] ] = await Promise.all([getImage(forest.path), getImage(satie.path)]) + // const [img, _] = await getImage(forest.path) + // const [imgSatie, __] = await getImage(satie.path) // Equals - expect(areEqualImages(img, img)).toBeTruthy() - expect(areEqualImages(imgSatie, imgSatie)).toBeTruthy() + expect(areEqualImages(img, img, unique)).toBeTruthy() + expect(areEqualImages(imgSatie, imgSatie, unique)).toBeTruthy() // Differents - expect(areEqualImages(img, imgSatie)).toBeFalsy() - expect(areEqualImages(imgSatie, img)).toBeFalsy() + expect(areEqualImages(img, imgSatie, unique)).toBeFalsy() + expect(areEqualImages(imgSatie, img, unique)).toBeFalsy() }) +}) - test('Getting Unique Images', async () => { - const [img1, _i1] = await getImage(imgTest.img) - const [imgSatie1, _is1] = await getImage(imgTest.imgSatie) - const uniques = getUniqueImages([img1, imgSatie1, img1, imgSatie1]) - expect(uniques.length).toBe(2) - const i1 = uniques[0] - const is1 = uniques[1] - expect(areEqualImages(i1, img1)).toBeTruthy() - expect(areEqualImages(is1, imgSatie1)).toBeTruthy() +describe('Test getUniqueImages()', () => { + const unique = UniqueSchema.parse({ enable: true }) + + test('Unique images', async () => { + const [ [iforest, _i1], [imgSatie, _is1] ] = await Promise.all([getImage(forest.path), getImage(satie.path)]) + // const [iforest, _i1] = await getImage(forest.path) + // const [imgSatie, _is1] = await getImage(satie.path) + const load = [iforest, imgSatie, iforest, imgSatie] + const images = getUniqueImages(load, unique) + expect(images.length).toBe(2) + const [if11, is11] = images + expect(areEqualImages(if11, iforest, unique)).toBeTruthy() + expect(areEqualImages(is11, imgSatie, unique)).toBeTruthy() }) }) describe('Test writeImages()', () => { - test(' checking writting', async () => { - const image1 = imgTest.img - const [jimp1, _size1] = await getImage(image1) - - const image2 = imgTest.imgSatie - const [jimp2, _size2] = await getImage(image2) + test('checking writting', async () => { + const image1 = forest.path + const image2 = satie.path + const [[jimp1, _size1], [jimp2, _size2]] = await Promise.all([getImage(image1), getImage(image2)]) + // const [jimp1, _size1] = await getImage(image1) + // const [jimp2, _size2] = await getImage(image2) const data1 = { path: __dirname, name: 'test', extension: jimp1.getExtension() } @@ -105,24 +131,16 @@ describe('Test writeImages()', () => { }) }) -describe('Test getbufferImages()', () => { +describe('Test getBufferImages()', () => { test('checking buffers', async () => { - const image1 = imgTest.img - const [jimp1, _size1] = await getImage(image1) - - const image2 = imgTest.imgSatie - const [jimp2, _size2] = await getImage(image2) - + const image1 = forest.path + const image2 = satie.path + const [[jimp1, _size1], [jimp2, _size2]] = await Promise.all([getImage(image1), getImage(image2)]) + // const [jimp1, _size1] = await getImage(image1) + // const [jimp2, _size2] = await getImage(image2) const buffers = await getBufferImages([jimp1, jimp2]) - buffers.forEach(async (buffer) => { expect(buffer).toBeInstanceOf(Buffer) }) - - // const imageBuffer1 = await fs.readFile(image1) - // expect(Buffer.compare(imageBuffer1, buffers[0])).toBe(0) - // const imageBuffer2 = await fs.readFile(image2) - // expect(Buffer.compare(imageBuffer2, buffers[1])).toBe(0) - }) }) \ No newline at end of file From a8e161991ea4ede1662566d1f78afdf405d72889 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 3 Sep 2023 18:39:24 +0200 Subject: [PATCH 39/64] tested Output schemas --- src/types.ts | 15 +++++++- src/utils.ts | 16 +++++++++ tests/types.test.ts | 87 ++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 109 insertions(+), 9 deletions(-) diff --git a/src/types.ts b/src/types.ts index 53c3e6a..14f783c 100755 --- a/src/types.ts +++ b/src/types.ts @@ -240,6 +240,13 @@ export const PathSchema = z.string().superRefine((path, ctx) => { try { // If path does not exist, create it if (!existsSync(path)) { + // Invalid filename for the folder + if (invalidFilename(path)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `Invalid name for a path -> ${path}`, + }) + } mkdirSync(path) } // Check write permissions @@ -289,7 +296,13 @@ export const OutputSchema = z.object({ }) } if (store !== undefined) { - StoreSchema.parse(store) + const result = StoreSchema.safeParse(store) + if (!result.success) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `${result.error}` + }) + } } }) export type Output = z.infer diff --git a/src/utils.ts b/src/utils.ts index 0d26741..4d665be 100755 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,3 +1,19 @@ import { NaturalSchema } from "./types" export const isSubmultiple = (numerator: number, denominator: number): boolean => NaturalSchema.multipleOf(denominator).safeParse(numerator).success + +export const invalidWindowsFilename = (name: string): boolean => { + // Windows Regex = /^(con|prn|aux|nul|com\d|lpt\d)$/i + const windowsReservedNameRegex = /^(con|prn|aux|nul|com\d|lpt\d)$/ + const invalidWindowsFilename = new RegExp(windowsReservedNameRegex, 'i') + return invalidWindowsFilename.test(name) +} + +export const invalidUnixFilename = (name: string): boolean => { + // All OS except Windows Regex = /[<>:"/\\|?*\u0000-\u001F]/g + const filenameReservedRegex = /[<>:"/\\|?*\u0000-\u001F]/ + const invalidFilename = new RegExp(filenameReservedRegex, 'g') + return invalidFilename.test(name) +} + +export const invalidFilename = (name: string): boolean => invalidUnixFilename(name) || invalidWindowsFilename(name) diff --git a/tests/types.test.ts b/tests/types.test.ts index 7a0c134..9090a68 100644 --- a/tests/types.test.ts +++ b/tests/types.test.ts @@ -199,15 +199,39 @@ describe('Tiles Cut', () => { }) describe('Output', () => { - test('test Output', () => { + test('Response empty', () => { const output: Output = {} as Output // Empty => buffer response let result = OutputSchema.safeParse(output) expect(result.success).toBeTruthy() expect(result.data.response).toStrictEqual('buffer') - // Response = path No store - output.response = 'path' + }) + + test('Response buffer', () => { + const output: Output = { response: 'buffer'} as Output + let result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + expect(result.data.response).toStrictEqual('buffer') + // Add store + output.store = { + path: './', + name: 'store' + } + result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + + output.store.path = 'storeTest' result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + + // Delete folder + rmdirSync(output.store.path) + }) + + test('Response path', () => { + const output: Output = { response: 'path' } as Output + // Response = path No store + let result = OutputSchema.safeParse(output) expect(result.success).toBeFalsy() // Response = path + Store output.store = { @@ -216,15 +240,62 @@ describe('Output', () => { } result = OutputSchema.safeParse(output) expect(result.success).toBeTruthy() - output.store.path = 'store' - result = OutputSchema.safeParse(output) - expect(result.success).toBeTruthy() - // Response = buffer + Store - output.response = 'buffer' + + output.store.path = 'storeTest' result = OutputSchema.safeParse(output) expect(result.success).toBeTruthy() // Delete folder rmdirSync(output.store.path) + }) + test('Invalid paths - filenames', () => { + const response = 'path' + const store = { path: './', name: 'storeTest' } + let output = OutputSchema.parse({ response, store }) + let result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + // Invalid filenames + const invalidFiles = ['foo/bar', 'foo\u0000bar', 'foo\u001Fbar', 'foo*bar', 'foo:bar', 'AUX', 'com1', 'foo\\bar'] + invalidFiles.forEach(pattern => { + store.name = pattern + output = { response, store } + result = OutputSchema.safeParse(output) + expect(result.success).toBeFalsy() + }) + // Invalid paths + const invalidPaths = ['foo/bar', 'foo\u0000bar', 'foo\u001Fbar', 'foo*bar', 'foo:bar', 'AUX', 'com1', 'foo\\bar'] + invalidPaths.forEach(pattern => { + store.path = pattern + output = { response, store } + result = OutputSchema.safeParse(output) + expect(result.success).toBeFalsy() + }) + }) + + test('Valid paths - filenames', () => { + const response = 'path' + const store = { path: 'storePath', name: 'storeFile' } + let output = OutputSchema.parse({ response, store }) + let result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + rmdirSync(store.path) + // Valid filenames + const validFiles = ['foo-bar', 'hola.txt'] + validFiles.forEach(pattern => { + store.name = pattern + output = { response, store } + result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + // rmdirSync(store.name) + }) + // Valid filenames + const validPaths = ['foo-bar', 'helloWorld'] + validPaths.forEach(pattern => { + store.path = pattern + output = { response, store } + result = OutputSchema.safeParse(output) + expect(result.success).toBeTruthy() + rmdirSync(store.path) + }) }) }) \ No newline at end of file From 8b96c512a71d901c1b2671f2821d80eaceb13bf1 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 3 Sep 2023 18:39:36 +0200 Subject: [PATCH 40/64] tested output schemas --- src/output.ts | 44 ++------------------------------------------ 1 file changed, 2 insertions(+), 42 deletions(-) diff --git a/src/output.ts b/src/output.ts index c17c3c4..aafbae0 100644 --- a/src/output.ts +++ b/src/output.ts @@ -1,50 +1,10 @@ -import { existsSync, accessSync, constants, mkdirSync } from 'node:fs' -import { SpliteaError, ThrowSpliteaError } from "./errors" -import { ExtensionSchema, Image, Output, OutputSchema, StoreSchema } from "./types" +import { ExtensionSchema, Image, Output, OutputSchema } from "./types" import Jimp from 'jimp' import { getBufferImages, writeImages } from './image' -const checkPath = (path: string): void => { - try { - // Check if path not exist, create - if (!existsSync(path)) { - mkdirSync(path) - } - // Check if can write - accessSync(path, constants.W_OK) - } catch (err) { - throw ThrowSpliteaError(err, `Problems parsing path ${path}`) - } -} - -const invalidWindowsFilename = (name: string): boolean => { - // Windows Regex = /^(con|prn|aux|nul|com\d|lpt\d)$/i - const windowsReservedNameRegex = /^(con|prn|aux|nul|com\d|lpt\d)$/ - const invalidWindowsFilename = new RegExp(windowsReservedNameRegex, 'i') - return invalidWindowsFilename.test(name) -} - -const invalidUnixFilename = (name: string): boolean => { - // All OS except Windows Regex = /[<>:"/\\|?*\u0000-\u001F]/g - const filenameReservedRegex = /[<>:"/\\|?*\u0000-\u001F]/ - const invalidFilename = new RegExp(filenameReservedRegex, 'g') - return invalidFilename.test(name) -} - -const checkName = (name: string): void => { - // Check OS valid filename - if (invalidUnixFilename(name) || invalidWindowsFilename(name)) { - throw new SpliteaError(`Invalid filename -> ${name}`) - } -} export const checkOutput = (output: Output): void => { - const { response, store } = OutputSchema.parse(output) - if (response === 'path' || store !== undefined) { - const { path, name } = StoreSchema.parse(store) - checkPath(path) - checkName(name) - } + OutputSchema.parse(output) } export const getOutput = async (images: Jimp[], output: Output): Promise => { From 4bc475d57481352ed6d00ebcdbd558f84d155648 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 3 Sep 2023 19:00:40 +0200 Subject: [PATCH 41/64] output completely tested --- src/output.ts | 2 +- tests/output.test.ts | 141 +++++++++++-------------------------------- 2 files changed, 36 insertions(+), 107 deletions(-) diff --git a/src/output.ts b/src/output.ts index aafbae0..26d5e16 100644 --- a/src/output.ts +++ b/src/output.ts @@ -19,6 +19,6 @@ export const getOutput = async (images: Jimp[], output: Output): Promise { - test('response buffer', () => { - const output: Output = { response: 'buffer' } - expect(() => checkOutput(output)).not.toThrowError() - output.store = { path: 'as?..jhfla', name: '?>.fdsg/.' } - expect(() => checkOutput(output)).toThrowError() - }) -}) - -describe('checkOutput - response "path"', () => { - const output: Output = { response: 'path', store: {} } as Output - - test('no store', () => { - expect(() => checkOutput(output)).not.toThrowError(SpliteaError) - }) - - test('path: Not exists', () => { - output.store = { - path: new Date().getTime().toString(), - name: 'test' - } - expect(() => checkOutput(output)).toThrowError(SpliteaError) - output.store.path = path.join(__dirname, new Date().toString()) - expect(() => checkOutput(output)).toThrowError(SpliteaError) - }) - - test('path: No write permission', () => { - const tmpFolder = path.join(__dirname, new Date().getTime().toString()) - output.store = { path: tmpFolder, name: 'test' } - fs.mkdirSync(tmpFolder, { mode: 0o444 }) - expect(() => checkOutput(output)).toThrowError(SpliteaError) - fs.rmdirSync(tmpFolder) - }) - - test('path: Valid path', () => { - const dir = __dirname - output.store = { path: dir, name: 'test' } - expect(() => checkOutput(output)).not.toThrowError(SpliteaError) - }) - - test('Invalid OS filenames', () => { - output.store = { path: __dirname, name: 'test' } - // Invalid filenames - output.store.name = 'foo/bar' - expect(() => checkOutput(output)).toThrowError(SpliteaError) - - output.store.name = 'foo\u0000bar' - expect(() => checkOutput(output)).toThrowError(SpliteaError) - - output.store.name = 'foo\u001Fbar' - expect(() => checkOutput(output)).toThrowError(SpliteaError) - - output.store.name = 'foo*bar' - expect(() => checkOutput(output)).toThrowError(SpliteaError) - - output.store.name = 'foo:bar' - expect(() => checkOutput(output)).toThrowError(SpliteaError) - - output.store.name = 'AUX' - expect(() => checkOutput(output)).toThrowError(SpliteaError) - - output.store.name = 'com1' - expect(() => checkOutput(output)).toThrowError(SpliteaError) - - output.store.name = 'foo\\bar' - expect(() => checkOutput(output)).toThrowError(SpliteaError) - }) - - test('Valid OS filenames', () => { - output.store = { path: __dirname, name: 'test' } - - output.store.name = 'foo-bar' - expect(() => checkOutput(output)).not.toThrowError(SpliteaError) - - output.store.name = 'hola.txt' - expect(() => checkOutput(output)).not.toThrowError(SpliteaError) - }) +const satie = { + path: path.join(IMG_FOLDER, 'Ericsatie.jpg'), + width: 2651, + height: 3711, +} -}) +const chess = { + path: path.join(IMG_FOLDER, 'chess.png'), + width: 720, + height: 720, +} describe('getOutput', async () => { - const images = await Promise.all( - [await getImage(imgTest.img), await getImage(imgTest.imgSatie)] - ).then(response => [response[0][0], response[1][0]]) - const output: Output = { - response: 'buffer' - } + const images = await Promise.all([ + getImage(forest.path), + getImage(satie.path), + getImage(chess.path) + ]).then(response => [response[0][0], response[1][0], response[2][0]]) + const output: Output = OutputSchema.parse({}) test('response = "buffer", store = undefined', async () => { const buffers = await getOutput(images, output) - expect(buffers).toHaveLength(2) - expect(buffers[0]).toBeInstanceOf(Buffer) + expect(buffers).toHaveLength(images.length) + buffers.forEach(buff => expect(buff).toBeInstanceOf(Buffer)) }) test('response = "buffer", store != undefined', async () => { - output.store = { path: __dirname, name: 'test'} + const store = { path: 'outputTest', name: 'testStore'} + output.store = store const buffers = await getOutput(images, output) - expect(buffers).toHaveLength(2) - expect(buffers[0]).toBeInstanceOf(Buffer) + expect(buffers).toHaveLength(images.length) + buffers.forEach(buff => expect(buff).toBeInstanceOf(Buffer)) + rmSync(store.path, { recursive: true }) }) test('response = "path", store != undefined', async () => { output.response = 'path' - output.store = { path: __dirname, name: 'test'} + const store = { path: 'outputTest', name: 'testStore'} + output.store = store const paths = await getOutput(images, output) - expect(paths).toHaveLength(2) - console.log( paths[0] instanceof String) - expect(typeof paths[0]).toEqual('string') - await Promise.all( - paths.map(async (path) => await FsSync.rm(path)) - ) + expect(paths).toHaveLength(images.length) + paths.forEach(path => expect(typeof path).toBe('string')) + rmSync(store.path, { recursive: true }) }) }) From 0b42301ff93a13f8c09dbb93c131b9b4cc8854bf Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 3 Sep 2023 19:21:51 +0200 Subject: [PATCH 42/64] fix types to remove temp folders + files --- tests/types.test.ts | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/tests/types.test.ts b/tests/types.test.ts index 9090a68..328776c 100644 --- a/tests/types.test.ts +++ b/tests/types.test.ts @@ -1,4 +1,4 @@ -import { rmdirSync } from 'node:fs' +import { rmdirSync, existsSync } from 'node:fs' import { describe, test, expect } from 'vitest' import { Size, SizeSchema, @@ -213,19 +213,14 @@ describe('Output', () => { expect(result.success).toBeTruthy() expect(result.data.response).toStrictEqual('buffer') // Add store - output.store = { - path: './', - name: 'store' - } + output.store = { path: './', name: 'store' } result = OutputSchema.safeParse(output) expect(result.success).toBeTruthy() output.store.path = 'storeTest' result = OutputSchema.safeParse(output) + rmdirSync(output.store.path, { recursive: true }) expect(result.success).toBeTruthy() - - // Delete folder - rmdirSync(output.store.path) }) test('Response path', () => { @@ -234,18 +229,14 @@ describe('Output', () => { let result = OutputSchema.safeParse(output) expect(result.success).toBeFalsy() // Response = path + Store - output.store = { - path: './', - name: 'store' - } + output.store = { path: './', name: 'store' } result = OutputSchema.safeParse(output) expect(result.success).toBeTruthy() output.store.path = 'storeTest' result = OutputSchema.safeParse(output) - expect(result.success).toBeTruthy() - // Delete folder rmdirSync(output.store.path) + expect(result.success).toBeTruthy() }) test('Invalid paths - filenames', () => { @@ -268,6 +259,9 @@ describe('Output', () => { store.path = pattern output = { response, store } result = OutputSchema.safeParse(output) + if (existsSync(store.path)) { + rmdirSync(store.path, {recursive: true}) + } expect(result.success).toBeFalsy() }) }) @@ -278,7 +272,7 @@ describe('Output', () => { let output = OutputSchema.parse({ response, store }) let result = OutputSchema.safeParse(output) expect(result.success).toBeTruthy() - rmdirSync(store.path) + rmdirSync(store.path, { recursive: true }) // Valid filenames const validFiles = ['foo-bar', 'hola.txt'] validFiles.forEach(pattern => { @@ -286,8 +280,8 @@ describe('Output', () => { output = { response, store } result = OutputSchema.safeParse(output) expect(result.success).toBeTruthy() - // rmdirSync(store.name) }) + rmdirSync(store.path) // Valid filenames const validPaths = ['foo-bar', 'helloWorld'] validPaths.forEach(pattern => { @@ -295,7 +289,7 @@ describe('Output', () => { output = { response, store } result = OutputSchema.safeParse(output) expect(result.success).toBeTruthy() - rmdirSync(store.path) + rmdirSync(store.path, {recursive: true}) }) }) }) \ No newline at end of file From 7510ee9850a82a4729fb24a746f232f1fbc71112 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Fri, 23 Feb 2024 20:11:34 +0100 Subject: [PATCH 43/64] migrated schemas and types to valibot from zod --- package-lock.json | 1778 ++++++++++++++++++++++++++++++--------------- package.json | 12 +- src/schemas.ts | 201 +++++ src/types.ts | 298 +------- src/utils.ts | 19 +- 5 files changed, 1436 insertions(+), 872 deletions(-) create mode 100644 src/schemas.ts diff --git a/package-lock.json b/package-lock.json index 57d9a1d..70d2f39 100755 --- a/package-lock.json +++ b/package-lock.json @@ -10,13 +10,14 @@ "license": "MIT", "dependencies": { "jimp": "^0.22.10", - "zod": "^3.21.4" + "valibot": "^0.28.1", + "valid-filename": "^4.0.0" }, "devDependencies": { "ts-node-dev": "^2.0.0", "ts-standard": "^12.0.2", - "typescript": "^5.1.6", - "vitest": "^0.34.1" + "typescript": "^5.3.3", + "vitest": "^1.3.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -50,10 +51,26 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/android-arm": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", - "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", "cpu": [ "arm" ], @@ -67,9 +84,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", - "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", "cpu": [ "arm64" ], @@ -83,9 +100,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", - "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", "cpu": [ "x64" ], @@ -99,9 +116,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", - "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", "cpu": [ "arm64" ], @@ -115,9 +132,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", - "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", "cpu": [ "x64" ], @@ -131,9 +148,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", - "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", "cpu": [ "arm64" ], @@ -147,9 +164,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", - "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", "cpu": [ "x64" ], @@ -163,9 +180,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", - "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", "cpu": [ "arm" ], @@ -179,9 +196,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", - "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", "cpu": [ "arm64" ], @@ -195,9 +212,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", - "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", "cpu": [ "ia32" ], @@ -211,9 +228,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", - "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", "cpu": [ "loong64" ], @@ -227,9 +244,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", - "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", "cpu": [ "mips64el" ], @@ -243,9 +260,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", - "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", "cpu": [ "ppc64" ], @@ -259,9 +276,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", - "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", "cpu": [ "riscv64" ], @@ -275,9 +292,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", - "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", "cpu": [ "s390x" ], @@ -291,9 +308,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", - "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", "cpu": [ "x64" ], @@ -307,9 +324,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", - "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", "cpu": [ "x64" ], @@ -323,9 +340,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", - "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", "cpu": [ "x64" ], @@ -339,9 +356,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", - "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", "cpu": [ "x64" ], @@ -355,9 +372,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", - "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", "cpu": [ "arm64" ], @@ -371,9 +388,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", - "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", "cpu": [ "ia32" ], @@ -387,9 +404,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", - "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", "cpu": [ "x64" ], @@ -522,9 +539,9 @@ "dev": true }, "node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { "@sinclair/typebox": "^0.27.8" @@ -931,9 +948,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "node_modules/@nodelib/fs.scandir": { @@ -971,6 +988,175 @@ "node": ">= 8" } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", + "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", + "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", + "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", + "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", + "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", + "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", + "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", + "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", + "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", + "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", + "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", + "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -1006,21 +1192,12 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, - "node_modules/@types/chai": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", - "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, - "node_modules/@types/chai-subset": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", - "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", - "dev": true, - "dependencies": { - "@types/chai": "*" - } - }, "node_modules/@types/json-schema": { "version": "7.0.12", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", @@ -1034,9 +1211,14 @@ "dev": true }, "node_modules/@types/node": { - "version": "16.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", - "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "dev": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/semver": { "version": "7.5.0", @@ -1245,27 +1427,27 @@ } }, "node_modules/@vitest/expect": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.1.tgz", - "integrity": "sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.0.tgz", + "integrity": "sha512-7bWt0vBTZj08B+Ikv70AnLRicohYwFgzNjFqo9SxxqHHxSlUJGSXmCRORhOnRMisiUryKMdvsi1n27Bc6jL9DQ==", "dev": true, "dependencies": { - "@vitest/spy": "0.34.1", - "@vitest/utils": "0.34.1", - "chai": "^4.3.7" + "@vitest/spy": "1.3.0", + "@vitest/utils": "1.3.0", + "chai": "^4.3.10" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.1.tgz", - "integrity": "sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.0.tgz", + "integrity": "sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==", "dev": true, "dependencies": { - "@vitest/utils": "0.34.1", - "p-limit": "^4.0.0", + "@vitest/utils": "1.3.0", + "p-limit": "^5.0.0", "pathe": "^1.1.1" }, "funding": { @@ -1273,15 +1455,15 @@ } }, "node_modules/@vitest/runner/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, "dependencies": { "yocto-queue": "^1.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1300,40 +1482,41 @@ } }, "node_modules/@vitest/snapshot": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.1.tgz", - "integrity": "sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.0.tgz", + "integrity": "sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==", "dev": true, "dependencies": { - "magic-string": "^0.30.1", + "magic-string": "^0.30.5", "pathe": "^1.1.1", - "pretty-format": "^29.5.0" + "pretty-format": "^29.7.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.1.tgz", - "integrity": "sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.0.tgz", + "integrity": "sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==", "dev": true, "dependencies": { - "tinyspy": "^2.1.1" + "tinyspy": "^2.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/utils": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.1.tgz", - "integrity": "sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.0.tgz", + "integrity": "sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==", "dev": true, "dependencies": { - "diff-sequences": "^29.4.3", - "loupe": "^2.3.6", - "pretty-format": "^29.5.0" + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" }, "funding": { "url": "https://opencollective.com/vitest" @@ -1361,9 +1544,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true, "engines": { "node": ">=0.4.0" @@ -1722,18 +1905,18 @@ } }, "node_modules/chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "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.5" + "type-detect": "^4.0.8" }, "engines": { "node": ">=4" @@ -1756,10 +1939,13 @@ } }, "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } @@ -1896,9 +2082,9 @@ } }, "node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -2045,9 +2231,9 @@ } }, "node_modules/esbuild": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", - "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", "dev": true, "hasInstallScript": true, "bin": { @@ -2057,28 +2243,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.17", - "@esbuild/android-arm64": "0.18.17", - "@esbuild/android-x64": "0.18.17", - "@esbuild/darwin-arm64": "0.18.17", - "@esbuild/darwin-x64": "0.18.17", - "@esbuild/freebsd-arm64": "0.18.17", - "@esbuild/freebsd-x64": "0.18.17", - "@esbuild/linux-arm": "0.18.17", - "@esbuild/linux-arm64": "0.18.17", - "@esbuild/linux-ia32": "0.18.17", - "@esbuild/linux-loong64": "0.18.17", - "@esbuild/linux-mips64el": "0.18.17", - "@esbuild/linux-ppc64": "0.18.17", - "@esbuild/linux-riscv64": "0.18.17", - "@esbuild/linux-s390x": "0.18.17", - "@esbuild/linux-x64": "0.18.17", - "@esbuild/netbsd-x64": "0.18.17", - "@esbuild/openbsd-x64": "0.18.17", - "@esbuild/sunos-x64": "0.18.17", - "@esbuild/win32-arm64": "0.18.17", - "@esbuild/win32-ia32": "0.18.17", - "@esbuild/win32-x64": "0.18.17" + "@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" } }, "node_modules/eslint": { @@ -2724,6 +2911,15 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -2733,6 +2929,29 @@ "node": ">=0.10.0" } }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/exif-parser": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", @@ -2809,6 +3028,17 @@ "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, + "node_modules/filename-reserved-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", + "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -2871,9 +3101,9 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, "optional": true, @@ -2918,9 +3148,9 @@ } }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "engines": { "node": "*" @@ -2953,6 +3183,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -3186,6 +3428,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -3222,6 +3473,11 @@ "@types/node": "16.9.1" } }, + "node_modules/image-q/node_modules/@types/node": { + "version": "16.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", + "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -3483,6 +3739,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -3675,10 +3943,14 @@ } }, "node_modules/local-pkg": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", - "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, "engines": { "node": ">=14" }, @@ -3705,12 +3977,12 @@ } }, "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "dependencies": { - "get-func-name": "^2.0.0" + "get-func-name": "^2.0.1" } }, "node_modules/lru-cache": { @@ -3726,9 +3998,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz", - "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==", + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" @@ -3737,18 +4009,18 @@ "node": ">=12" } }, - "node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -3782,6 +4054,18 @@ "node": ">=4" } }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", @@ -3821,15 +4105,15 @@ } }, "node_modules/mlly": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz", - "integrity": "sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", + "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", "dev": true, "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.10.0", "pathe": "^1.1.1", "pkg-types": "^1.0.3", - "ufo": "^1.1.2" + "ufo": "^1.3.0" } }, "node_modules/ms": { @@ -3839,9 +4123,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, "funding": [ { @@ -3896,6 +4180,33 @@ "node": ">=0.10.0" } }, + "node_modules/npm-run-path": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -4028,6 +4339,21 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -4348,9 +4674,9 @@ } }, "node_modules/postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "dev": true, "funding": [ { @@ -4367,7 +4693,7 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -4385,12 +4711,12 @@ } }, "node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -4584,18 +4910,34 @@ } }, "node_modules/rollup": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.1.tgz", - "integrity": "sha512-tXNDFwOkN6C2w5Blj1g6ForKeFw6c1mDu5jxoeDO3/pmYjgt+8yvIFjKzH5FQUq70OKZBkOt0zzv0THXL7vwzQ==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", + "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.18.0", + "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.12.0", + "@rollup/rollup-android-arm64": "4.12.0", + "@rollup/rollup-darwin-arm64": "4.12.0", + "@rollup/rollup-darwin-x64": "4.12.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", + "@rollup/rollup-linux-arm64-gnu": "4.12.0", + "@rollup/rollup-linux-arm64-musl": "4.12.0", + "@rollup/rollup-linux-riscv64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-musl": "4.12.0", + "@rollup/rollup-win32-arm64-msvc": "4.12.0", + "@rollup/rollup-win32-ia32-msvc": "4.12.0", + "@rollup/rollup-win32-x64-msvc": "4.12.0", "fsevents": "~2.3.2" } }, @@ -4640,6 +4982,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -4715,6 +5076,18 @@ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -4900,9 +5273,9 @@ } }, "node_modules/std-env": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz", - "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, "node_modules/string_decoder": { @@ -4913,25 +5286,6 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -5017,6 +5371,18 @@ "node": ">=4" } }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -5027,17 +5393,23 @@ } }, "node_modules/strip-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", "dev": true, "dependencies": { - "acorn": "^8.10.0" + "js-tokens": "^8.0.2" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", + "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", + "dev": true + }, "node_modules/strtok3": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", @@ -5090,9 +5462,9 @@ "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" }, "node_modules/tinybench": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz", - "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", + "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", "dev": true }, "node_modules/tinycolor2": { @@ -5101,18 +5473,18 @@ "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" }, "node_modules/tinypool": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz", - "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", "dev": true, "engines": { "node": ">=14.0.0" } }, "node_modules/tinyspy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz", - "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, "engines": { "node": ">=14.0.0" @@ -5398,9 +5770,9 @@ } }, "node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -5411,9 +5783,9 @@ } }, "node_modules/ufo": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.2.0.tgz", - "integrity": "sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", + "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", "dev": true }, "node_modules/unbox-primitive": { @@ -5431,6 +5803,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -5459,30 +5838,49 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, + "node_modules/valibot": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/valibot/-/valibot-0.28.1.tgz", + "integrity": "sha512-zQnjwNJuXk6362Leu0+4eFa/SMwRom3/hEvH6s1EGf3oXIPbo2WFKDra9ymnbVh3clLRvd8hw4sKF5ruI2Lyvw==" + }, + "node_modules/valid-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/valid-filename/-/valid-filename-4.0.0.tgz", + "integrity": "sha512-VEYTpTVPMgO799f2wI7zWf0x2C54bPX6NAfbZ2Z8kZn76p+3rEYCTYVYzMUcVSMvakxMQTriBf24s3+WeXJtEg==", + "dependencies": { + "filename-reserved-regex": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/vite": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.8.tgz", - "integrity": "sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.3.tgz", + "integrity": "sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==", "dev": true, "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.26", - "rollup": "^3.25.2" + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "fsevents": "~2.3.2" + "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": ">= 14", + "@types/node": "^18.0.0 || >=20.0.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", @@ -5515,82 +5913,78 @@ } }, "node_modules/vite-node": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.1.tgz", - "integrity": "sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.0.tgz", + "integrity": "sha512-D/oiDVBw75XMnjAXne/4feCkCEwcbr2SU1bjAhCcfI5Bq3VoOHji8/wCPAfUkDIeohJ5nSZ39fNxM3dNZ6OBOA==", "dev": true, "dependencies": { "cac": "^6.7.14", "debug": "^4.3.4", - "mlly": "^1.4.0", "pathe": "^1.1.1", "picocolors": "^1.0.0", - "vite": "^3.0.0 || ^4.0.0" + "vite": "^5.0.0" }, "bin": { "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=v14.18.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/vitest": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.1.tgz", - "integrity": "sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.0.tgz", + "integrity": "sha512-V9qb276J1jjSx9xb75T2VoYXdO1UKi+qfflY7V7w93jzX7oA/+RtYE6TcifxksxsZvygSSMwu2Uw6di7yqDMwg==", "dev": true, "dependencies": { - "@types/chai": "^4.3.5", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "@vitest/expect": "0.34.1", - "@vitest/runner": "0.34.1", - "@vitest/snapshot": "0.34.1", - "@vitest/spy": "0.34.1", - "@vitest/utils": "0.34.1", - "acorn": "^8.9.0", - "acorn-walk": "^8.2.0", - "cac": "^6.7.14", - "chai": "^4.3.7", + "@vitest/expect": "1.3.0", + "@vitest/runner": "1.3.0", + "@vitest/snapshot": "1.3.0", + "@vitest/spy": "1.3.0", + "@vitest/utils": "1.3.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", "debug": "^4.3.4", - "local-pkg": "^0.4.3", - "magic-string": "^0.30.1", + "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.3.3", - "strip-literal": "^1.0.1", - "tinybench": "^2.5.0", - "tinypool": "^0.7.0", - "vite": "^3.0.0 || ^4.0.0", - "vite-node": "0.34.1", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.2", + "vite": "^5.0.0", + "vite-node": "1.3.0", "why-is-node-running": "^2.2.2" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": ">=v14.18.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "@edge-runtime/vm": "*", - "@vitest/browser": "*", - "@vitest/ui": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.3.0", + "@vitest/ui": "1.3.0", "happy-dom": "*", - "jsdom": "*", - "playwright": "*", - "safaridriver": "*", - "webdriverio": "*" + "jsdom": "*" }, "peerDependenciesMeta": { "@edge-runtime/vm": { "optional": true }, + "@types/node": { + "optional": true + }, "@vitest/browser": { "optional": true }, @@ -5602,15 +5996,6 @@ }, "jsdom": { "optional": true - }, - "playwright": { - "optional": true - }, - "safaridriver": { - "optional": true - }, - "webdriverio": { - "optional": true } } }, @@ -5784,14 +6169,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zod": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", - "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } } }, "dependencies": { @@ -5822,157 +6199,164 @@ } } }, + "@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "dev": true, + "optional": true + }, "@esbuild/android-arm": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", - "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", - "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", - "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", - "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", - "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", - "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", - "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", - "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", - "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", - "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", - "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", - "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", - "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", - "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", - "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", - "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", - "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", - "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", - "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", - "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", - "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", - "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", "dev": true, "optional": true }, @@ -6061,9 +6445,9 @@ "dev": true }, "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "requires": { "@sinclair/typebox": "^0.27.8" @@ -6364,9 +6748,9 @@ "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "@nodelib/fs.scandir": { @@ -6395,6 +6779,97 @@ "fastq": "^1.6.0" } }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", + "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", + "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", + "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", + "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", + "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", + "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", + "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", + "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", + "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", + "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", + "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", + "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "dev": true, + "optional": true + }, "@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -6430,21 +6905,12 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, - "@types/chai": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", - "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, - "@types/chai-subset": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", - "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", - "dev": true, - "requires": { - "@types/chai": "*" - } - }, "@types/json-schema": { "version": "7.0.12", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", @@ -6458,9 +6924,14 @@ "dev": true }, "@types/node": { - "version": "16.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", - "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "dev": true, + "peer": true, + "requires": { + "undici-types": "~5.26.4" + } }, "@types/semver": { "version": "7.5.0", @@ -6580,31 +7051,31 @@ } }, "@vitest/expect": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.1.tgz", - "integrity": "sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.0.tgz", + "integrity": "sha512-7bWt0vBTZj08B+Ikv70AnLRicohYwFgzNjFqo9SxxqHHxSlUJGSXmCRORhOnRMisiUryKMdvsi1n27Bc6jL9DQ==", "dev": true, "requires": { - "@vitest/spy": "0.34.1", - "@vitest/utils": "0.34.1", - "chai": "^4.3.7" + "@vitest/spy": "1.3.0", + "@vitest/utils": "1.3.0", + "chai": "^4.3.10" } }, "@vitest/runner": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.1.tgz", - "integrity": "sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.0.tgz", + "integrity": "sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==", "dev": true, "requires": { - "@vitest/utils": "0.34.1", - "p-limit": "^4.0.0", + "@vitest/utils": "1.3.0", + "p-limit": "^5.0.0", "pathe": "^1.1.1" }, "dependencies": { "p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, "requires": { "yocto-queue": "^1.0.0" @@ -6619,34 +7090,35 @@ } }, "@vitest/snapshot": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.1.tgz", - "integrity": "sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.0.tgz", + "integrity": "sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==", "dev": true, "requires": { - "magic-string": "^0.30.1", + "magic-string": "^0.30.5", "pathe": "^1.1.1", - "pretty-format": "^29.5.0" + "pretty-format": "^29.7.0" } }, "@vitest/spy": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.1.tgz", - "integrity": "sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.0.tgz", + "integrity": "sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==", "dev": true, "requires": { - "tinyspy": "^2.1.1" + "tinyspy": "^2.2.0" } }, "@vitest/utils": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.1.tgz", - "integrity": "sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.0.tgz", + "integrity": "sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==", "dev": true, "requires": { - "diff-sequences": "^29.4.3", - "loupe": "^2.3.6", - "pretty-format": "^29.5.0" + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" } }, "acorn": { @@ -6663,9 +7135,9 @@ "requires": {} }, "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true }, "ajv": { @@ -6914,18 +7386,18 @@ "dev": true }, "chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, "requires": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "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.5" + "type-detect": "^4.0.8" } }, "chalk": { @@ -6939,10 +7411,13 @@ } }, "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "requires": { + "get-func-name": "^2.0.2" + } }, "chokidar": { "version": "3.5.3", @@ -7039,9 +7514,9 @@ "dev": true }, "diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true }, "dir-glob": { @@ -7164,33 +7639,34 @@ } }, "esbuild": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", - "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.18.17", - "@esbuild/android-arm64": "0.18.17", - "@esbuild/android-x64": "0.18.17", - "@esbuild/darwin-arm64": "0.18.17", - "@esbuild/darwin-x64": "0.18.17", - "@esbuild/freebsd-arm64": "0.18.17", - "@esbuild/freebsd-x64": "0.18.17", - "@esbuild/linux-arm": "0.18.17", - "@esbuild/linux-arm64": "0.18.17", - "@esbuild/linux-ia32": "0.18.17", - "@esbuild/linux-loong64": "0.18.17", - "@esbuild/linux-mips64el": "0.18.17", - "@esbuild/linux-ppc64": "0.18.17", - "@esbuild/linux-riscv64": "0.18.17", - "@esbuild/linux-s390x": "0.18.17", - "@esbuild/linux-x64": "0.18.17", - "@esbuild/netbsd-x64": "0.18.17", - "@esbuild/openbsd-x64": "0.18.17", - "@esbuild/sunos-x64": "0.18.17", - "@esbuild/win32-arm64": "0.18.17", - "@esbuild/win32-ia32": "0.18.17", - "@esbuild/win32-x64": "0.18.17" + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "requires": { + "@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" } }, "eslint": { @@ -7638,12 +8114,38 @@ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0" + } + }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "requires": { + "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" + } + }, "exif-parser": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", @@ -7708,6 +8210,11 @@ "token-types": "^4.1.1" } }, + "filename-reserved-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", + "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==" + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -7760,9 +8267,9 @@ "dev": true }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "optional": true }, @@ -7791,9 +8298,9 @@ "dev": true }, "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, "get-intrinsic": { @@ -7814,6 +8321,12 @@ "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", "dev": true }, + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true + }, "get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -7977,6 +8490,12 @@ "has-symbols": "^1.0.2" } }, + "human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -7994,6 +8513,13 @@ "integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==", "requires": { "@types/node": "16.9.1" + }, + "dependencies": { + "@types/node": { + "version": "16.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", + "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" + } } }, "import-fresh": { @@ -8181,6 +8707,12 @@ "call-bind": "^1.0.2" } }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -8337,10 +8869,14 @@ "dev": true }, "local-pkg": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", - "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", - "dev": true + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "requires": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + } }, "lodash.merge": { "version": "4.6.2", @@ -8358,12 +8894,12 @@ } }, "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "requires": { - "get-func-name": "^2.0.0" + "get-func-name": "^2.0.1" } }, "lru-cache": { @@ -8376,20 +8912,12 @@ } }, "magic-string": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz", - "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==", + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", "dev": true, "requires": { "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - } } }, "make-error": { @@ -8398,6 +8926,12 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -8419,6 +8953,12 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, "min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", @@ -8449,15 +8989,15 @@ "dev": true }, "mlly": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz", - "integrity": "sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", + "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", "dev": true, "requires": { - "acorn": "^8.9.0", + "acorn": "^8.10.0", "pathe": "^1.1.1", "pkg-types": "^1.0.3", - "ufo": "^1.1.2" + "ufo": "^1.3.0" } }, "ms": { @@ -8467,9 +9007,9 @@ "dev": true }, "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true }, "natural-compare": { @@ -8498,6 +9038,23 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "npm-run-path": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + }, + "dependencies": { + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + } + } + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -8597,6 +9154,15 @@ "wrappy": "1" } }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, "optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -8827,12 +9393,12 @@ "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==" }, "postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "dev": true, "requires": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -8844,12 +9410,12 @@ "dev": true }, "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -8980,11 +9546,25 @@ } }, "rollup": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.1.tgz", - "integrity": "sha512-tXNDFwOkN6C2w5Blj1g6ForKeFw6c1mDu5jxoeDO3/pmYjgt+8yvIFjKzH5FQUq70OKZBkOt0zzv0THXL7vwzQ==", - "dev": true, - "requires": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", + "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.12.0", + "@rollup/rollup-android-arm64": "4.12.0", + "@rollup/rollup-darwin-arm64": "4.12.0", + "@rollup/rollup-darwin-x64": "4.12.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", + "@rollup/rollup-linux-arm64-gnu": "4.12.0", + "@rollup/rollup-linux-arm64-musl": "4.12.0", + "@rollup/rollup-linux-riscv64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-musl": "4.12.0", + "@rollup/rollup-win32-arm64-msvc": "4.12.0", + "@rollup/rollup-win32-ia32-msvc": "4.12.0", + "@rollup/rollup-win32-x64-msvc": "4.12.0", + "@types/estree": "1.0.5", "fsevents": "~2.3.2" } }, @@ -9009,6 +9589,11 @@ "isarray": "^2.0.5" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, "safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -9066,6 +9651,12 @@ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -9197,9 +9788,9 @@ } }, "std-env": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz", - "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, "string_decoder": { @@ -9208,13 +9799,6 @@ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } } }, "string.prototype.matchall": { @@ -9281,6 +9865,12 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -9288,12 +9878,20 @@ "dev": true }, "strip-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", "dev": true, "requires": { - "acorn": "^8.10.0" + "js-tokens": "^8.0.2" + }, + "dependencies": { + "js-tokens": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", + "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", + "dev": true + } } }, "strtok3": { @@ -9332,9 +9930,9 @@ "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" }, "tinybench": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz", - "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", + "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", "dev": true }, "tinycolor2": { @@ -9343,15 +9941,15 @@ "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" }, "tinypool": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz", - "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", "dev": true }, "tinyspy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz", - "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true }, "to-regex-range": { @@ -9544,15 +10142,15 @@ } }, "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true }, "ufo": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.2.0.tgz", - "integrity": "sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", + "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", "dev": true }, "unbox-primitive": { @@ -9567,6 +10165,13 @@ "which-boxed-primitive": "^1.0.2" } }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -9595,61 +10200,69 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, + "valibot": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/valibot/-/valibot-0.28.1.tgz", + "integrity": "sha512-zQnjwNJuXk6362Leu0+4eFa/SMwRom3/hEvH6s1EGf3oXIPbo2WFKDra9ymnbVh3clLRvd8hw4sKF5ruI2Lyvw==" + }, + "valid-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/valid-filename/-/valid-filename-4.0.0.tgz", + "integrity": "sha512-VEYTpTVPMgO799f2wI7zWf0x2C54bPX6NAfbZ2Z8kZn76p+3rEYCTYVYzMUcVSMvakxMQTriBf24s3+WeXJtEg==", + "requires": { + "filename-reserved-regex": "^3.0.0" + } + }, "vite": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.8.tgz", - "integrity": "sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.3.tgz", + "integrity": "sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==", "dev": true, "requires": { - "esbuild": "^0.18.10", - "fsevents": "~2.3.2", - "postcss": "^8.4.26", - "rollup": "^3.25.2" + "esbuild": "^0.19.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" } }, "vite-node": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.1.tgz", - "integrity": "sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.0.tgz", + "integrity": "sha512-D/oiDVBw75XMnjAXne/4feCkCEwcbr2SU1bjAhCcfI5Bq3VoOHji8/wCPAfUkDIeohJ5nSZ39fNxM3dNZ6OBOA==", "dev": true, "requires": { "cac": "^6.7.14", "debug": "^4.3.4", - "mlly": "^1.4.0", "pathe": "^1.1.1", "picocolors": "^1.0.0", - "vite": "^3.0.0 || ^4.0.0" + "vite": "^5.0.0" } }, "vitest": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.1.tgz", - "integrity": "sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.0.tgz", + "integrity": "sha512-V9qb276J1jjSx9xb75T2VoYXdO1UKi+qfflY7V7w93jzX7oA/+RtYE6TcifxksxsZvygSSMwu2Uw6di7yqDMwg==", "dev": true, "requires": { - "@types/chai": "^4.3.5", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "@vitest/expect": "0.34.1", - "@vitest/runner": "0.34.1", - "@vitest/snapshot": "0.34.1", - "@vitest/spy": "0.34.1", - "@vitest/utils": "0.34.1", - "acorn": "^8.9.0", - "acorn-walk": "^8.2.0", - "cac": "^6.7.14", - "chai": "^4.3.7", + "@vitest/expect": "1.3.0", + "@vitest/runner": "1.3.0", + "@vitest/snapshot": "1.3.0", + "@vitest/spy": "1.3.0", + "@vitest/utils": "1.3.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", "debug": "^4.3.4", - "local-pkg": "^0.4.3", - "magic-string": "^0.30.1", + "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.3.3", - "strip-literal": "^1.0.1", - "tinybench": "^2.5.0", - "tinypool": "^0.7.0", - "vite": "^3.0.0 || ^4.0.0", - "vite-node": "0.34.1", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.2", + "vite": "^5.0.0", + "vite-node": "1.3.0", "why-is-node-running": "^2.2.2" } }, @@ -9781,11 +10394,6 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true - }, - "zod": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", - "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==" } } } diff --git a/package.json b/package.json index e36a8f0..8508bec 100755 --- a/package.json +++ b/package.json @@ -18,7 +18,10 @@ "typescript" ], "main": "lib/index.js", - "private": true, + "types": "lib/index.d.ts", + "files": [ + "lib" + ], "scripts": { "start": "node lib/index.js", "dev": "ts-node-dev src/index.ts", @@ -30,12 +33,13 @@ }, "dependencies": { "jimp": "^0.22.10", - "zod": "^3.21.4" + "valibot": "^0.28.1", + "valid-filename": "^4.0.0" }, "devDependencies": { "ts-node-dev": "^2.0.0", "ts-standard": "^12.0.2", - "typescript": "^5.1.6", - "vitest": "^0.34.1" + "typescript": "^5.3.3", + "vitest": "^1.3.0" } } diff --git a/src/schemas.ts b/src/schemas.ts new file mode 100644 index 0000000..2e5fe55 --- /dev/null +++ b/src/schemas.ts @@ -0,0 +1,201 @@ +import fs from 'node:fs' +import * as v from 'valibot' +import Jimp from 'jimp' +import { MAX_DIFFERENCE, MAX_DISTANCE, MODES } from './constants' +import { greaterThanZero, invalidFilename, isSubmultiple, xor } from './utils' + +export const BooleanSchema = v.boolean() +export const StringSchema = v.string() +export const NaturalSchema = v.number([v.integer(), v.minValue(0)]) + +// Image ---------------------------------------------------------------------- +export const BufferSchema = v.instance(Buffer) +export const JimpSchema = v.instance(Jimp) + +export const ImageExistsSchema = v.string([ + v.custom((file) => !fs.existsSync(file), 'This image does not exists') +]) + +export const ImageSchema = v.union([ImageExistsSchema, BufferSchema]) + +export const SizeSchema = v.object({ + width: NaturalSchema, + height: NaturalSchema, +}) +/** Tiles --------------------------------------------------------------------- + * 1. Slice Mode -> mode => "grid" | "vertical" | "horizontal" + * 2. Options for the slices + * 2.1 Grid tiles -> rows + columns | width + height + * 2.2 Vertical tiles -> rows | height + * 2.3 Horizontal tiles -> columns | width + * 3. Non-repeated tiles -> unique => false (default) | true +*/ +export const ModeSchema = v.picklist(MODES) + +export const UniqueSchema = v.object({ + enable: v.optional(BooleanSchema, false), + distance: v.optional(v.number([v.minValue(0), v.maxValue(1)]), MAX_DISTANCE), + difference: v.optional(v.number([v.minValue(0), v.maxValue(1)]), MAX_DIFFERENCE), + requirement: v.optional(v.picklist(['one', 'both']), 'both') +}) + +export const TilesSchema = v.object({ + mode: ModeSchema, + rows: v.optional(NaturalSchema), + columns: v.optional(NaturalSchema), + width: v.optional(NaturalSchema), + height: v.optional(NaturalSchema), + unique: v.optional(UniqueSchema, {}), +}) + +export const HorizontalTilesSchema = v.object( + { + columns: v.optional(NaturalSchema, 0), + width: v.optional(NaturalSchema, 0), + size: SizeSchema + }, + [ + v.custom(({ columns, width }) => [columns, width].some(greaterThanZero), 'Provide columns or width (px)'), + v.custom(({ columns, width }) => xor(Boolean(columns), Boolean(width)), 'Provide columns or width (px), not both'), + v.custom(({ columns, width, size }) => { + if (columns > 0) return isSubmultiple(size.width, columns) + if (width > 0) return isSubmultiple(size.width, width) + return false + }, 'Provided columns or width has to be a submultiple of image width'), + ] +) + +export const VerticalTilesSchema = v.object( + { + rows: v.optional(NaturalSchema, 0), + height: v.optional(NaturalSchema, 0), + size: SizeSchema + }, + [ + v.custom(({ rows, height }) => [rows, height].some(greaterThanZero), 'Provide rows or height (px)'), + v.custom(({ rows, height }) => xor(Boolean(rows), Boolean(height)), 'Provide rows or height (px), not both'), + v.custom(({ rows, height, size }) => { + if (rows > 0) return isSubmultiple(size.height, rows) + if (height > 0) return isSubmultiple(size.height, height) + return false + }, 'Provided rows or height has to be a submultiple of image height'), + ] +) + +export const GridTilesSchema = v.object( + { + columns: v.optional(NaturalSchema, 0), + rows: v.optional(NaturalSchema, 0), + width: v.optional(NaturalSchema, 0), + height: v.optional(NaturalSchema, 0), + size: SizeSchema + }, + [ + v.custom(({ columns, rows, width, height }) => [columns, rows, width, height].some(greaterThanZero), 'Provide columns-rows or height-width (px)'), + v.custom(({ columns, rows, width, height }) => xor([columns, rows].every(greaterThanZero), [width, height].every(greaterThanZero)), 'Provide columns-rows or height-width (px), not both'), + v.custom(({ columns, rows, size }) => { + if ([columns, rows].every(greaterThanZero)) return isSubmultiple(size.width, columns) && isSubmultiple(size.height, rows) + return true + }, 'Provided columns-rows have to be a submultiple of image width-height'), + v.custom(({ width, height, size }) => { + if ([width, height].every(greaterThanZero)) return isSubmultiple(size.width, width) && isSubmultiple(size.height, height) + return true + }, 'Provided width-height have to be a submultiple of image width-height'), + // v.custom(({ columns, rows, width, height, size }) => { + // if ([columns, rows].every(greaterThanZero)) return isSubmultiple(size.width, columns) && isSubmultiple(size.height, rows) + // if ([width, height].every(greaterThanZero)) return isSubmultiple(size.width, width) && isSubmultiple(size.height, height) + // return false + // }, 'Provided columns-rows or width-height have to be a submultiple of image width-height'), + ] +) + +export const TilesCutSchema = v.object( + { + tileWidth: NaturalSchema, + tileHeight: NaturalSchema, + imageWidth: NaturalSchema, + imageHeight: NaturalSchema, + }, + [ + v.custom(({ tileWidth, imageWidth }) => tileWidth <= imageWidth, 'tileWidth cannot be bigger than imageWidth'), + v.custom(({ tileWidth, imageWidth }) => isSubmultiple(imageWidth, tileWidth), 'tileWidth has to be a submultiple of imageWidth'), + v.custom(({ tileHeight, imageHeight }) => tileHeight <= imageHeight, 'tileHeight cannot be bigger than imageHeight'), + v.custom(({ tileHeight, imageHeight }) => isSubmultiple(tileHeight, imageHeight), 'tileHeight has to be a submultiple of imageHeight'), + ] +) + +export const TileCoordinatesSchema = v.object({ + x: NaturalSchema, + y: NaturalSchema, + width: NaturalSchema, + height: NaturalSchema +}) +/** Output -------------------------------------------------------------------- + * 1. response = data to return -> data => "buffer" | "path" + * 2. If response = "path" or you want to store the slices it needs to provide path + name (extension is optional) + * 2.1 Local path to store slices -> path + * 2.2 Name preffix to slices -> name + * 2.3 Extension to store tiles -> extension => "jpg" | "png" | "bmp" | "gif" | "tiff" +**/ +export const ResponseSchema = v.picklist(['buffer', 'path']) + +export const PathSchema = v.string([ + // v.custom((input: string) => !invalidFilename(input), 'Invalid name for a path'), + v.custom( + (input: string) => { + try { + if (!fs.existsSync(input)) { + fs.mkdirSync(input) + } + return true + } catch (error) { + return false + } + }, + 'Cannot create the path provided' + ), + v.custom( + (input: string) => { + try { + fs.accessSync(input, fs.constants.W_OK) + return true + } catch (error) { + return false + } + }, + 'path provided doesn\'t have write permissions' + ) +]) + +export const FilenameSchema = v.string([ + v.custom((input: string) => !invalidFilename(input), 'Invalid filename'), +]) + +export const ExtensionSchema = v.picklist([ + 'jpg', 'jpeg', + 'png', 'bmp', + 'gif', 'tiff' +]) + +export const StoreSchema = v.object({ + path: PathSchema, + name: FilenameSchema, + extension: v.optional(ExtensionSchema) +}) + +export const OutputSchema = v.object( + { + response: v.fallback(ResponseSchema, 'buffer'), + store: v.optional(StoreSchema) + }, + [ + v.custom( + ({ response, store }) => (response === 'path') ? store !== undefined : true + , 'To response with path, store argument has to be passed' + ), + v.custom( + ({ store }) => (store !== undefined) ? v.safeParse(StoreSchema, store).success : true + , 'Invalid store property' + ), + ] +) diff --git a/src/types.ts b/src/types.ts index 14f783c..732286b 100755 --- a/src/types.ts +++ b/src/types.ts @@ -1,36 +1,10 @@ -import { existsSync, mkdirSync, accessSync, constants } from 'node:fs' -import Jimp from 'jimp' -import { z } from 'zod' -import { MIN_DIFFERENCE, MIN_DISTANCE } from './constants' -import { invalidFilename, isSubmultiple } from './utils' +import * as v from 'valibot' +import { ExtensionSchema, FilenameSchema, GridTilesSchema, HorizontalTilesSchema, ImageSchema, ModeSchema, NaturalSchema, OutputSchema, PathSchema, ResponseSchema, SizeSchema, StoreSchema, TileCoordinatesSchema, TilesCutSchema, TilesSchema, UniqueSchema, VerticalTilesSchema } from './schemas' -export const BooleanSchema = z.boolean() -export type Boolean = z.infer -export const BooleanOptionalSchema = BooleanSchema.default(false) -export type BooleanOptional = z.infer - -export const StringSchema = z.string() -export type String = z.infer -export const StringOptionalSchema = StringSchema.optional() -export type StringOptional = z.infer - -export const NaturalSchema = z.number().int().nonnegative() -export type Natural = z.infer -export const NaturalOptionalSchema = NaturalSchema.default(0) -export type NaturalOptional = z.infer +export type Natural = v.Input // Image ---------------------------------------------------------------------- -export const BufferSchema = z.instanceof(Buffer) - -export const JimpSchema = z.instanceof(Jimp) - -export const ImageSchema = z.union([StringSchema, BufferSchema]) -export type Image = z.infer - -export const SizeSchema = z.object({ - width: NaturalSchema.positive(), - height: NaturalSchema.positive() -}) -export type Size = z.infer +export type Image = v.Input +export type Size = v.Input /** Tiles --------------------------------------------------------------------- * 1. Slice Mode -> mode => "grid" | "vertical" | "horizontal" * 2. Options for the slices @@ -39,193 +13,21 @@ export type Size = z.infer * 2.3 Horizontal tiles -> columns | width * 3. Non-repeated tiles -> unique => false (default) | true */ -export const ModeSchema = z.union([z.literal('horizontal'),z.literal('vertical'), z.literal('grid')]) -export type Mode = z.infer +export type Mode = v.Input -export const UniqueSchema = z.object({ - enable: z.boolean().default(false), - distance: z.number().min(0).max(1).default(MIN_DISTANCE), - difference: z.number().min(0).max(1).default(MIN_DIFFERENCE), - requirement: z.union([z.literal('one'), z.literal('both')]).default('both').default('both') -}) -export type Unique = z.infer +export type Unique = v.Output -export const TilesSchema = z.object({ - mode: ModeSchema, - rows: NaturalOptionalSchema, - columns: NaturalOptionalSchema, - width: NaturalOptionalSchema, - height: NaturalOptionalSchema, - unique: UniqueSchema.default({}), -}) -export type Tiles = z.infer +export type Tiles = v.Output -export const HorizontalTilesSchema = TilesSchema - .pick({ columns: true, width: true }) - .extend({ size: SizeSchema }) - .superRefine((args, ctx) => { - const { columns, width, size } = args - if (columns === 0 && width === 0) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: 'Provide at least columns or width (px)' - }) - } - if (columns > 0 && width > 0) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: 'Provide columns or width (px), not both' - }) - } - if (columns > 0 && !isSubmultiple(size.width, columns)) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `columns (${columns}) have to be a submultiple of ${size.width} px` - }) - } - if (width > 0 && !isSubmultiple(size.width, width)) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `width (${width}px) have to be a submultiple of ${size.width} px` - }) - } - }) -export type HorizontalTiles = z.infer +export type HorizontalTiles = v.Output -export const VerticalTilesSchema = TilesSchema - .pick({ rows: true, height: true }) - .extend({ size: SizeSchema }) - .superRefine((args, ctx) => { - const { rows, height, size } = args - if (rows === 0 && height === 0) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: 'Provide at least one, rows or height (px)' - }) - } - if (rows > 0 && height > 0) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: 'Provide rows or height (px), not both' - }) - } - if (rows > 0 && !isSubmultiple(size.height, rows)) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `rows (${rows}) have to be a submultiple of ${size.height} px` - }) - } - if (height > 0 && !isSubmultiple(size.width, height)) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `height (${height}px) have to be a submultiple of ${size.height} px` - }) - } - }) -export type VerticalTiles = z.infer +export type VerticalTiles = v.Output -export const GridTilesSchema = TilesSchema - .omit({ mode: true, unique: true }) - .extend({ size: SizeSchema }) - .superRefine((args, ctx) => { - const { rows, columns, width, height, size } = args - if (rows === 0 && columns === 0 && width === 0 && height === 0) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: 'Provide a pair columns + rows or height (px) + width (px)' - }) - } - if (rows > 0 && height > 0) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `Provide rows or height, but not both` - }) - } - // Just Columns or Width but not both - if (columns > 0 && width > 0) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `Provide columns or width, but not both` - }) - } - // Just Rows + Columns - if ((rows > 0 && columns > 0) && (width > 0 || height > 0)) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `If you entered rows + columns, width and height don't have to be entered` - }) - } - // Just Width + Height - if ((width > 0 && height > 0) && (rows > 0 || columns > 0)) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `If you entered width + height, rows and columns don't have to be entered` - }) - } - // Image Width + Height are multiple of Columns + Rows - if ( (rows > 0 && columns > 0) && !( isSubmultiple(size.height, rows) && isSubmultiple(size.width, columns) ) ) { - let msg = `rows (${rows}) have to be a submultiple of ${size.height} px\n` - msg += `columns (${columns}) have to be a submultiple of ${size.width} px` - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: msg - }) - } - // Image Width + Height are multiple of Width + Height - if ( (width > 0 && height > 0) && !( isSubmultiple(size.width, width) && isSubmultiple(size.height, height ) ) ) { - let msg = `width (${width}) have to be a submultiple of ${size.width} px\n` - msg += `height (${height}) have to be a submultiple of ${size.height} px` - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: msg - }) - } - }) -export type GridTiles = z.infer +export type GridTiles = v.Output -export const TilesCutSchema = z.object({ - tileWidth: NaturalSchema, - tileHeight: NaturalSchema, - imageWidth: NaturalSchema, - imageHeight: NaturalSchema, -}).superRefine((val, ctx) => { - const { tileWidth, tileHeight, imageWidth, imageHeight } = val - // width - if (tileWidth > imageWidth) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `tile width ${tileWidth} cannot be bigger than image width ${imageWidth}` - }) - } - if (!NaturalSchema.multipleOf(tileWidth).safeParse(imageWidth).success) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `tile width ${tileWidth} has to be a submultiple of image width ${imageWidth}` - }) - } - // height - if (tileHeight > imageHeight) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `tile height ${tileHeight} cannot be bigger than image height ${imageHeight}` - }) - } - if (!NaturalSchema.multipleOf(tileHeight).safeParse(imageHeight).success) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `tile height ${tileHeight} has to be a submultiple of image height ${imageHeight}` - }) - } -}) -export type TilesCut = z.infer +export type TilesCut = v.Output -export const TileCoordinatesSchema = z.object({ - x: NaturalSchema, - y: NaturalSchema, - width: NaturalSchema, - height: NaturalSchema -}) -export type TileCoordinates = z.infer +export type TileCoordinates = v.Output /** Output -------------------------------------------------------------------- * 1. response = data to return -> data => "buffer" | "path" * 2. If response = "path" or you want to store the slices it needs to provide path + name (extension is optional) @@ -233,76 +35,14 @@ export type TileCoordinates = z.infer * 2.2 Name preffix to slices -> name * 2.3 Extension to store tiles -> extension => "jpg" | "png" | "bmp" | "gif" | "tiff" **/ -export const ResponseSchema = z.union([z.literal('buffer'), z.literal('path')]) -export type Response = z.infer +export type Response = v.Input -export const PathSchema = z.string().superRefine((path, ctx) => { - try { - // If path does not exist, create it - if (!existsSync(path)) { - // Invalid filename for the folder - if (invalidFilename(path)) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `Invalid name for a path -> ${path}`, - }) - } - mkdirSync(path) - } - // Check write permissions - accessSync(path, constants.W_OK) - } catch (err) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `Problems with path = "${path}"` - }) - } -}) -export type Path = z.infer +export type Path = v.Input -export const FilenameSchema = z.string().superRefine((filename, ctx) => { - if (invalidFilename(filename)) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `Invalid filename -> ${filename}` - }) - } -}) -export type Filename = z.infer +export type Filename = v.Input -export const ExtensionSchema = z.union([ - z.literal('jpg'), z.literal('jpeg'), - z.literal('png'), z.literal('bmp'), - z.literal('gif'), z.literal('tiff') -]) -export type Extension = z.infer +export type Extension = v.Input -export const StoreSchema = z.object({ - path: PathSchema, - name: FilenameSchema, - extension: ExtensionSchema.optional() -}) -export type Store = z.infer +export type Store = v.Input -export const OutputSchema = z.object({ - response: ResponseSchema.default('buffer'), - store: StoreSchema.optional() -}).superRefine((val, ctx) => { - const { response, store } = val - if (response === 'path' && store === undefined) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: 'To response with path, store argument has to be passed' - }) - } - if (store !== undefined) { - const result = StoreSchema.safeParse(store) - if (!result.success) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `${result.error}` - }) - } - } -}) -export type Output = z.infer +export type Output = v.Output diff --git a/src/utils.ts b/src/utils.ts index 4d665be..1583453 100755 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,19 +1,30 @@ -import { NaturalSchema } from "./types" +import * as v from 'valibot' +import { NaturalSchema } from './schemas' +import { Natural } from './types' +// import isValidFilename from 'valid-filename' -export const isSubmultiple = (numerator: number, denominator: number): boolean => NaturalSchema.multipleOf(denominator).safeParse(numerator).success +export const greaterThanZero = (num: Natural): boolean => num > 0 +export const xor = (a: boolean, b: boolean): boolean => ( a && !b ) || ( !a && b ) + +export const isSubmultiple = (numerator: number, denominator: number): boolean => (v.parse(NaturalSchema, numerator) % v.parse(NaturalSchema, denominator)) === 0 export const invalidWindowsFilename = (name: string): boolean => { // Windows Regex = /^(con|prn|aux|nul|com\d|lpt\d)$/i const windowsReservedNameRegex = /^(con|prn|aux|nul|com\d|lpt\d)$/ const invalidWindowsFilename = new RegExp(windowsReservedNameRegex, 'i') - return invalidWindowsFilename.test(name) + const result = invalidWindowsFilename.test(name) + if (result) console.error(`Invalid windows filename ${name}`) + return result } export const invalidUnixFilename = (name: string): boolean => { // All OS except Windows Regex = /[<>:"/\\|?*\u0000-\u001F]/g const filenameReservedRegex = /[<>:"/\\|?*\u0000-\u001F]/ const invalidFilename = new RegExp(filenameReservedRegex, 'g') - return invalidFilename.test(name) + const result = invalidFilename.test(name) + if (result) console.error(`Invalid unix filename ${name}`) + return result } export const invalidFilename = (name: string): boolean => invalidUnixFilename(name) || invalidWindowsFilename(name) +// export const invalidFilename = (name: string): boolean => !isValidFilename(name) \ No newline at end of file From 5a349fda23f27730a58912d9c278058f0f59dad3 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Fri, 23 Feb 2024 20:13:12 +0100 Subject: [PATCH 44/64] set ts options --- tsconfig.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index 5b5196a..8839246 100755 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,7 @@ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "ES6", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ @@ -24,9 +24,9 @@ // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ + "module": "ESNext", /* Specify what module code is generated. */ "rootDir": "./src", /* Specify the root folder within your source files. */ - // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + "moduleResolution": "Node", /* Specify how TypeScript looks up a file from a given module specifier. */ // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ @@ -42,7 +42,7 @@ // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ // "declarationMap": true, /* Create sourcemaps for d.ts files. */ // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ From 2a4b9b72363b91a1197549a96082f87502cf1edc Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Fri, 23 Feb 2024 20:13:29 +0100 Subject: [PATCH 45/64] removing build from repo --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5e0fe01..dee163b 100755 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ .vscode .idea .DS_Store -lib +lib/ # Logs logs From 4cd6e7b616f4ea37fb234350230d4354e4103411 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Fri, 23 Feb 2024 20:13:42 +0100 Subject: [PATCH 46/64] deleted unnecessary files --- examples/Ericsatie.jpg | Bin 1994648 -> 0 bytes examples/forestmap.png | Bin 11040 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/Ericsatie.jpg delete mode 100644 examples/forestmap.png diff --git a/examples/Ericsatie.jpg b/examples/Ericsatie.jpg deleted file mode 100644 index 87817625f319e868dc40194994938e69ec2e206f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1994648 zcmeFYcT`j9_cwYFb*$qkA_^i71W*(hiZB8a3oSAjr5BNr-a-T^QbHUZ3o^hY2nZPn z0@BOSOCT8)q>EGuA&Ei)f+Ued6XHpE&wSrsx%XZ7kN123xNF_@&dDO{;j}z^Kl|+c z+55APd{+Jr`0k<|!VXYSPyl|0K7joF-mSK`!h!+7$qCQ{0AL%iRbd~X2#pk=51?QK zY=Xux=zzb1@xR9Vq4E6(VZi2podawuc&PoKwBw%3Qo#@?_nG>p1wa6J(1A7l`K zMj76^e#6kn;0Hs%3V!Rx^?-<=*rWbIAz@Kxba^C-?$NNoGrAt9oPKb+aUm!)%poZz z$R+8LYd}&&!0A9;xb^NGR<|r}p>CjpVy_>)g^G;2X>sd}=D+T40geCOZK!E&6%!b2 z;cR2~A7?=SozeV{xg;bc7$le&pkqP|jZU9FZTN$+p|P<(bcX)T#HiToxAdcKYW>Fz zY=UkE#Dv|54MRsA{riU3{n2r;XEfvD!U8RVuLqy<4-7n|?|KocYV zKogTd^HWAY8V4KsYyRg1Q8)hU=l>s70sS5%lEsCXpz9ETb48;gt^YT4Y-RYrUSwtX z_cZ@6)3*Mfdmv3fqyN$yq{O5DA8h~p$iJoJf7JDly8bN<{97mgV_pBK>)+DAzjg9I z*7g50b^SN?3W|aNR|15rY+p>M@7HHeKZQIuEyLay1y?f`b zUEhAUfA6<@l=ke}weR3QCFKJuDk|UZJ*0N%fa?AODhK|)iNfDkZrQS9>((6y_Uzho z;NRZle*t^9eT&`Uqo|+>Y}%`!xK}~m3ur*p*%pXp`lz zZY3t&{q^4c2M^O8;j6y2))VcQyi!Aoi@`shxb-v*97oliF{Pl0Spi12T6zjhv`(NbR3(2)<^Jc}(-~26? z!lnf1PjT<&E#Dh$-FNQFH`k+;G>w1Rw*NftY2)+lS|-k)l>KAIcN~D3zSmy=TeN>k z_P;0Co&Q&o{g+_>E!P~dOHlz@JjJ~L9N4gQB;^~{_2S9BaSO$rfe~Ua@<$WQ944c? ziN0;fXb1C*{SB3|xGODavHNW;TSJ}cFIBrHTaNfx?)RX}flZZqA%Vu9tXky&xl-}U z=lt*61#OAxnrt{-COn2Z?F=)FZq2uL$KtM#znt{wXhSS!ZQATfMlV(|)|k|bO?iKBR#}7=3o>2+XmOkT!*Bn&pv>qyrS;#aTb(&yxWEA=@ zVuwbhbHIldP->2xkUadv|A}ac;Si74u0*|axa+^wD_%nE&5-z1*Q{jsm-j3loYTe- zvCHmqApU95^Tj3v_0_U$&qDD|)lKC-ud`AjnY!R~=PjYLR{!BEeK#6pOL9O|^G6H0 zfT5Fd|GmVL%s=IwF%hQvg*DF>q5OI#ZXa(M$ZNK={nMH~M|tkD5u>i@73}N1>KI1_ z%WdcaH_O2pub8TKW{;iHmS~Bq!u6;0aP}rnnhd)0%EGn)y8z9Lhv4+t=>VI&A+L!G z&8)FeQ37^bomUGXIbFj#Y(m#{{`X!Y77~=La=OlPyDG+LjdkN`;YCZV-fZ?y6ZeWx ztoZEIxA(|$fL_Zv|ANn0IB{BO2p{C(BnNc*WU2tcsii$5=#h;;J5a1l=839D?`NT- zj)>`pbq9s1V2zoBK`{w`E-v?%R1uxgy7Su5dN(D4pD(ksm2m*y+~fLR!oCkXqMesR z6Ri0%;|mkF{O00_h8InuH*@3wwZ`n#7tS)mGx46;7a8x_)t)Iva+T_gRZac!Jb|!s zR?VWUar0zkKqftf5bqHWj!E3kUH1v)YF_C)7n~ql22bJ8ai@BwoKrtNA;z3Ya&Il{ z6dd_de%r)AlqTb@0{xikku*UmW?tK3kD2CmSLSlbbn)oH-?z0TR)IZ_yTXHy5k{yQ zqdgB8#ariT^!}UsGhRyRb&~zzT~74hu3Q^3>o*_CDS3O~M1VGayG}=rS*ZmoF#LCm zo@$@feU`O|M$O_~+sdi?pXF(1(kb(G9OGL%bo15zoTXU#Ve~S%>Bg6E{kp@VHf&5A ze(o)z_0f;$@$y^kU1*R4EzMn@4#fLMXLyZ75kfj9DrkE5FifNwcK5|#C$@*eUh%d# z)m=`V31!_Fq=bNQj$0b{XTndphw8?0On(#U=Wt-Ob9%b&h-vyDim0WTQcp_#=)OGx z(~0hUF>}8Py*c9HAX7SxS(O7Ex9zU4s`?ohfywcDI^*0AiGCpi%=v0`glR&irntL4 zCUny4w>zh@k{xIf6`73LEgfCPX1%kkRiXp8jZFpGJvE4Dpi^QaQkVvo&yXAn0^5ELKN z_dr@uWjq*X*+UiwfDIB2JvpH4Ic?)qaq3mSm$tYKyUBQ(w`bND8-g&*ZjVVxKYJ+E zwkh0b`)@@qk}6rBW8KAo%+s~cZ&VJNuN#8;?%$8c9oOFdz$R8^I-7Md^5@pO{;#<4 zC?l6dAdP+ zzR~O1ZwcR>j1Ya;6rpb6lW{2m%Sfyxj4N?basd8yx9i)_ufULOoefr+Ikw&1H2q-< z*xw^y$pN=Uc*c>^DKzKH&V+)~!g=#g?aa91T|%73C5QTe`O!`~RSrBNgd`RD<(YGF zh4IGPutr3}$s6M6D)a(VpzTF&&Cu6hY?lLGih>iD6%F#F-|xz{GHM?JDRVMIVf7)D zr(N5ywMSBw96({IHQu%5FIZHBMj;<1#%3kZYsF|YMxWW}M8mvW@$Qvh+q(AAS_mTR z&-PjVn#A13vc^Z2Az@{|VfPH{NOL+d$+h9`Wooq=qY4YW=*1qEB~fAi~Lt5@Dl zLcmL{`3A;79f79x?x z7feIfe@Y|80g>TGUcM_$&v&kg<-k;_gi!PC+|=_(uDaR~Qlzfu==gqlIB|1wLdENc z#OP{9Wv=n;vtH~;ypG7ec!%uZ5zOa_p6U>|HLshkDv7}NCFl#aAxKV+2 zM7Ec8U~t9Dh&b%cr8bq3Wdk{olzWV2Ht}QEi{~FDPS9hFcSPZKdL50=_HVKn-bG? zwz}QBE6zsl3Od zf$W!WMtZZwH`qRN-f7RUnjBD+fXbB5s+md_J{7sCZWu1}ug{~l+_J(ctHSnbIiNZ{ ze0oMFEpJI|W)TTyoK^XpZsvHa;rpxrJJ1D$0?c&K$AzG&l=Wy?<^$No|DW3>;UC2&eowhqR$d)Ti1D5oZ8yH4WKIW%a?@mo!5g=&|Yacf7YAx>%S zXej>A0ZXHW)mLG)yj&D5VJ0W%OI>L>PhZ$IeUKv|*>w<>g0ZCL<%_qQe0&odF-yn} zIq(;S`)2c8Zb^Gm$-M36c&5pT^TcQsY4t~m+QM*UApf0M%RyNwgc(=A?McCz2YNos zkV%HOM(Ui4_!F`0P}S;MKAH}#W@p_9-p`6-DdEyY<#J$S#|-MjuN4K?=SXS+CLA$E zTHv7BqjD`^u+dE=0Nd3taz9l5_F~7trSu!w z_WTwk|0KNs?CzIWOU$XPL}g(lUx@uHw)Oxue5UwvvZc>Rd^ z{L0(|`$r3*>N(^Dx=7>ZWkp+7QfiyGBf`smKo*GAGygPw-*$?HXn^tCtXaRf1b?l& z1>1)yI&`?N2WO3>c$7J<(_Xz^HIVW60yu_zADObcxaM`)$2_vwrgxRaEHdPoq^JXMg>E3 zmyw7V%)(0IiQ3QGo4@lJYz~iPo>jWWz=pn*gjew$RwT-ZXknIi8HQvQ#fOkRIDK-k znSBRqq!Q6(A_rPMer_x9xizyVPn0Z@16zQzcwM3Q1&xvFH9k6A!NR%eG6+jGU+Q|aG-KbC>omGkLa;`{!D+XO?sU5XOUIka3#d7cB$@0DG{cNx z5!FWp0XXyX>zIB&5w^#@1kY8w^{!|+zMm=Wzt}Q9_dH~YrZWr0dB38X{+(Cp7O!z- zPJ+^QX7SF;uNZzr!_oa{S;LTYaq1#LRGme@awP+8_HFglIo}I<_8LPZtDX$$YTo55 z>TN4BB#C_6`1|ILmh9xzFFxFp#OHG0r6bTaqP0VeDUSwua%C;vKVGyWWWmah`z;;E0)m)z@^8a?VL9FYo0*TT6Nfc{OUm4gm@f5;`KGNi+8v;+eSyjnxsW4 zu5!Sgs71OQmvMgL^wB$lrH(l~I-QGc?y7A$(Aa;tF(qp$g)0X>!l~7{#_>Qy$8bv~h?2bt%nl^TfxEH-RCP@fIb!%5UUweV zT{Al+v}w4_D_fK%37t|vJ4_Tfoj-HVz$))Se6MUbSmW&=5dM|dPNL!#GBJ7>qIJT)}I0P24rS@7(8RUGCU*bw@v}+>1 zYdHY!4VeAZ&V`ILv07boFd$Q%V%e`FeLU)A!0O0 zrM-z({ZQs#UH3wl(9W@(_)&<^88fK9YK5b{XaL&;hbAF->>+y#wy**-7tV~4-Lq5W zfOwf7RlM^`7{?TELw1>~#cIic;fpnin{1=mwkoeFAFbL2W?0hY))C^|v5zXbZw3Vt zIe?7|weXRaE=gI!iRK953e&8FV(c2C6s<^=t$Jj>` zzD;&=z>@L_+kE!B;h%+HUB;Gpx#rX+xO7L2&)8v;lt!5#ge#JO&{`A`!o>v|Yaf(G z1llrlD%f6S`tg{rWDv3p{=dw6-);RcQL1l$zQ*G=$R)$+Smm%&5~Eky!vYh`pbCrX zX>t28I@CIl$%oJ5Pthc9r*H*6v95WE2M+3g;+)GU*SIa2CB?~q6N>OEUqRr@sz1#rIGoGHL6I6U8GfR z8m*P3=KgL;s-+b!K~7r~ww`7X0Gc4c8QE7fRutAo3Y7NxSoIJlv7fHM;#YLU{(>Va zew}9zaMsFN@COZEmdUOSDs7lSzOB|NEL!=Go6;huM(HTg0xsEsGteor$#xbTIkfl6 zUie0J5Su>d(;xWOSi6-ZA*ho%fXDUdgnhM*oLkJKNUVvZ)p6_7IN`6JrJ1H4VtOhj zhq$vPdX()*O8D9f1>kP@e!SNpE2R$h8{U+tGuoo?RIQ!L%8^juBaD@17FJmK1gTi| z2BBJ$0{M_m+u@!vMlxnbtQ7J($I2Pi@n9_dwFj~=l?_~Nbbw_j7aoGLxJ?*gsq5}A zU7X>tnmu2SvhL>I9a^6P-V&P6OPQZs%DNpZGN43haS35&DgB%Te$8U~}-sWVFP46?qo8|@ghR8UVX7a9xBQ`sm@fPf< z5L^cwF>OBHhK1!~4eUH*%fa`&r6+IN-U>!9Q#?XWiU>i zJk2K~g|e@2wm6-Ci_O=Ot`cFtW4_{F>40!ujIgl(Zu(K6tWpO2-_44}VEy`U*@Xw)EeePm)Nn29v!=*EnZl;E)9=^WXc+@X@ z1X`WKacilur_YGPTejFti?Ut^T!`doI!us1lw#@aOsX?gd}WX{l(8TO&>O4jc~>}h z;NAR`hdAliJkF7;$v(ruIN4&k^s$2e!w4b?wXcCmZD!Ru(w=DH4<0ag%MQ2b!tRl5 zZPHJ-*P!B$e=mTEMb^D`HJ>z^ts(@xdqT9#6fLUUq<+pox8qjvBL_EMmt{=m=h@nN zE&PvKS+UVlk#}c;n&Z+>WSi^ zU}cJD_aZ}N`FnEtCw;83Lijt=+0u^tXGWKt1d@kL9q3-W5dq%_6L?IvKq<+J_}t|$ zoE1t__SKiDBaXkkCE_DYW!qcxz5RUjEoWp=bKswXFG$VF5xzN(!KBv+8(=tTL2PU` zue={h-x)PmUOjx+ghmn}A)3$bF9vnF@9yYlNVYFwzEsUTH{h@`ktPwE-O2m#vnOLL z?FA`Ny_Y3c4|h8u94y#w)(hpb*k6t*grwc;zL6LPKBfwyKnlHDV7nx~VXJ~?Mr(i{ zrE_gf;`k4v>}Bk{ebxK;rkeDB3z486%Z#I!-ZrBA@LyzUr5E7=fhA$KNAUc`L9!LsN z7}ieH!g=q>OBn1~tgD{WEcA|gin_jZA;ECuH-a#7_92r_J9{W8 zMJ@I--Z6uen&5#ggu*J#seoFBq*DeZ$?fQx=)v7B(f#UVD74*_tV_p)SbABDv3)ei z%&}h3>JYwG&-kNSl# z>|1@!<-j*mf%mGaV=s>Ki#ZS3iP)8$e&0QN#ILi*99_KQ%3ruw8Kzm%&-PV|xUvpG z0Dn5)8baVo-p1ZWIF(^$k69u?W>cB+AS?VizfDR|L64o?JKIlQIL%UXNg{s{i&}lA z%+4${XMMrm+&HA?cih>jjuIP##d0stc^JvO||BE9RPyyti$>FfmYUIrZB5-V1b+QdYPRoJmiM9m&zEJ>LLJ$iq( zC=e7)^NM^dhfh>|!VEP%EzQtGGwR21#Es*@wq8b?lg%;0d|^tfzp1CSdlpute&qI{ z!zk?+Te5iN^qiZhJYmF(MmWt)sHw|Ls%@_fw7ZY6ng+9)>P9rZv?R06)077$$>v|9ygOW8?Hkzm?SEyp6Ecv+1mr}0S? zXlc(Lc%LWT&7nynQa(Tymy@KnJ)k|;(XRmEl3Xgu$*UMev&9*Qf2#)fPKzi~!Nqo! zD}&1|{8KFy%n_%ovj?{1OkUL<9T9%igYYXv$ynBqKkXLg1-&nCdlWovzz&X2bMdG3 ziQ>88?~W`TD_pv79xvPCS5!{)=*%?Pb>mrWgn&FoF~KGl+&0)KR-+{^-&sWc=F)W1 zld&Qj#wK-2VN(2=nu9?h3__`I&gNGitZvp`kz`R)U&V?knGJLOak}}3g&#<=MYQcpT39aZRm$F|T%(-qLwBt!$~c z?%>(|u2;8pj|5TfZs>Uip_^;0lJm2dZL>D2CX{n+XzY@Pbvcll9}y;WEDKE;Af!rH z!4C?noNq=_-DFT=h&$#512>sip&CUz4=~+hx+I^(?BgD=W#71ij}@Zm zZ_YL+Mpw5p#Vep_&0X9^o^lhXehHzb-&K66sacKbXE3!rpVahs2F?%iE%YucmSvPq zF>EtbxNAWmPd4mUe%~fGqq`MFOaLDjg#Vz&oJYRDSb&&W5EF*u{Gh4C-2UEq03@%j zfjpPmCRmtSVzO_1O3TMvx<9mx_jmmWDP>G_9Dh*K(-i53spp*C)W>&Jv!*xn9P3CI zJ%lQpCWfEf@~zq#jgXvRjr|pqlr+^f&uMego6R@wd&Hsfw%D$5$>Tar3s?*~nAs=? zXml3`^K)&dVRQ;sWbK_W++!yBjg|_&QPkOuihab4bAcw->J0ns&s46%jML}5YhfMt zmBBi`q=E0!u*0W+pJa^-szXttMd6#=%rrIoPMi#a@e38E(cjF`#>pVBN`LWTe-~2N zW}e@S*|Fckl-QFt=@0*OdDA%***;jT?84QOj!sQwWI_V4Gg24zo%V29!S@lW_Q(yz z22t3U2jX8gOQn!825mBjU(gkf=K!9zsxjjT^L{i50`| zJef(>h#5Tc7Ku}q*%a?|1UpOak#CKgp#zx$R~4VV>ZKXe<_+tU{1>rM6=QjQtztN8 z+}A2vGTh9AufI{)<)mEBV?^aG&oxSiyo&7~EM*5^J|ihje=x$&rfWP|Yml7UPrGKH z`M2AwSeHxzMi*315)QQ)TZm)rl}=`Lna77PJ5!V5I$cA(k%loTne`mO)F)En>s2{m zC{p6R*?juC6$3d+K@Tt)Re?T%&ERkCyZM$-UCL^|!;GEaP#g9p*JZzHBgtf-MzWJF z9RjW*mL-4MRac3o<-ljvTUX%<-l&h z!qy|-ikb70cd;h!u*t}T1Gh;J^I5Dn|Bx431xt2Q3jQMdVyoY*IaEy`BMU!l(%!|l zg~5#*20%)8YeZmLB!LoJBT}Y3%HMQs?qyQ7?f}U;zH&JsUs;Pzk~WYZ0~^DM$z|E` zQ(`}`#z9+lv53*sBXLfg`};rhWD8z$7eka_#ip^$qs$ih6Xu4tyDgUYT!EZNZDS!^ou zp0bXB#ty>1ODYfX;`x>#&Gexxn#jGpc~nVf150TgU+wj$T89N@c$>?e1TP-o>jXk@a=k6gsbkq;uj6(CQz=unCTiNavi3T0jnj}Dv!IC8{ zNewrC8}A+;Y&#`3>w=J{XcTZBwoepXwR%ckBtbR+o2fEbLK{)7F@)8)EX>Ob=3iUI z<2ms4xl9y+dYv!nb4rs+rxb|(2Tp5jq>6?wrwT^+2kojGL`)WA`WZ@bTYLM+YofO6 z)SYuT(oc04xj?Cva>nS({G<1gIetO*sHk#gY=`tS5h_^3)L-a2b56OtjV=;lzX7L) zm)$xtO8K;iH96pa`xuRuh-O`t)R1^a0-jk#@7VSWXkw`8#<+e{OM*HFG%wOhOMjI2T3`8s6tb*q_K=JO@p zPp&q$OWPJ9vXcrD&DSq)HFkluEo zulW9PP3c-DO%?gBma6FnffQ>GnK^`ao3CCFrdd&pgR|mCnf%f41NRoQIC|?T6iiA3 z!~KtVM@1fbA!`|_SM$-Kv7dcT;=> z2eO`B`+2l^C@*15P?jcfGZ}dCRus(%#J-2f{Z(LzYr0Z~H-4cFm3?sCJ}Y(M1E9Yc zV%R|Co->5^u#81ZB~iL)wfX!w#EXbS!Mz&G;!wq{mZ1x{1%Wk^{D^tR<6PYC?sOn~ z2q!9mrTU_2-qf<}lZ^u$EeUbW`K9Vf++U3qk10$k8@TTCtk&Pbs=43) zm3vjwUQKt<_t%1y=s{tX&|XurqUoMm8d<)8@F^o=;CJA{O2uy(zFt%+ zVpsdMz~LkG^|EU|gHldwc6D9>WIKK215h0vqTW>@yNw;QWcUmaLo#y8#OiD*-NW~^ zq=%9`jJt*uVX4JCyzl3kQ#t;3=IrUZ%q%%@u5P!%Xl*S{*P$>6da#ekf%ld5hP>Rx z$URD8xP>NEw`5nJNph@cyKf`#Wo0kh$aVmz$Bpx=`w%C6tUBSs@P=Df!&#^NsS-6| z3h|R3<~F~M;l(wFOmcu2(`q^_2MiqE6&Y%?oFGgAv1A3)v6Yemu0CoZEM<(s7C#;| zJ;cgYpF=f!530eroVO#HT{`%4(QU4L4hzY!mkza*_piw!Jv2T5rB7x)%27 z*}Kr%+AA|oIN3_72z0AaF6lp*!6647gm;&^H8Z2N*%|F)azK9{!fF7@N9%Tm`GXc{ zz6f9?#I(wWh|(v<;TxpeyL!+^NXcV-vS<{C_PG_Irxs!CtFF2DkMl_># zVgHl^r}Q}^PLaRAGPfh;n8%BXcS$8E4k<2<{Oub`n-$#j_iN&PbAy5k(L|>iYLvv4 zp767u;hsFyd%S)0!4QVh&zH0SA8BfxF2nfPTP09wJlsFqa4WgkQ;2r#@|-2UwNCG@e=CrEz3j+??7* zjdeVD^^uUrev-YVP&jGeD9!QrbQxmuDU7JFJEJlht7;dCEJ&$2yO&Cvr~g#9BR3e^ zBbyGd&)S^3CQ7Q^X^gT(%8pk@#~n!D@9dKpGc+*R3=$c1Pe;r2`@v&8Ya#C<(7eCx zhWEVJSOnQUkDc$sJyzX(5*{UGe$B<^!ReJtFE24X-xJs+c5uDI4!?^){*<(8W>=RM zm*%sgb>=q@6f7Jf)zcvTRK6jh{4RwL{hpiZC9ryhp&t#`K*qcX}o&|Q$a zol56T*W9lTT2&7G2DOw`i-b34jSzLhG-WR@GU_qDHdjw&14p)p@G0-?zKz^j>Hv;2 z^eacQ+jZ7k`U}j@ zGS#U`)4l@N*82{0Hl`8^k1yQ~PBPS0kEL{|y8DhAid6r!q6Q#@Pd3 z924srGPCq7OC`}l2F2UgPr5?Zz0oml*WdHdW4l3xljrfd?$nV9AVGioU} zH1d+M>!+;KwY%R&wR@;}ySjNWm`S&F{*1wIum8IR=ob~P=Cn#K!?BQjm46H~54D;( z_D;%P<6c1UY_w6`TI%0hJqZg>8OzU9VHbZ}ftaeRJ&NHc{yECm86yVyN1Uk8p86PJ zTImK6MOVO;jsWw@*OPteLEGwr~-T1qC5uM4#VjtYFP+8nhBQ(2DF(7U|FG5y5o56x8y zU0sHsT<7%1^ISc83TL*6=^jhWE66&lNs=+PQ{r}V^l-)N40Y=_1YdJWi$ZnO+NHdc z@sysdr9^*f<2dC3D)78=&i5wbL+MH8Oo$kq{QMyxtmHglobIOX$8|YXs3&`o;*h^< zv_0xAgUBe}wsx}2jCbqh5ML$gt<0=sW)4yQXbJhGg<=M^p-mSWJA(J{Gsogz)q#Wd zpA12_RKcarOiy|g*@(nu#zex(H0=8;dJnOE}5&Fsj zDA9UVV>DL&YqI69cAnW-5c^5>fm0{Bt3Aw2@2>_~=9nZ_LH%X5-S72sz^JX6^vo^! z7I!fxrH7!DWK4Pe@zPXDXZN%fhnArG`XRwOydBN94J|^`(d0qV#BHNm^4r7PM(#Nq zcDB{iK8SRJiX6%w#mB|Y61D2kG(?4$_b)N#{VD?-sKQkp93%X5glP&@RAp@7ruXwZ zJMRjK#%HpmV-)AG1Yyj|q}QlgX(S52CiV?~)$*rROc}N(hZwGsKE1Rt=0!&&|WRX|Q-w8+?ph;i=z_G|smg z>t2D%r!t-9T9^+ZcO=MNTU@BIL_52C!p4Ol_i!@zY4=#dd@eAMhnTL~^1c)$8 zxL7bWW2D;u(t4RL5>D6nfS!@T*~uh|q%jta!`{FB!_!ATyB#C1)77|e`q0-I`s4Li zmF)*ngN<)P=F!}lOXXECzwlijO~`$7W(^Yr{mJKnGYy7+_$tRk-BJ*Nf6+*`r%&Y4mVT3_LaQ7!@%h&c7rFLYwfhA+A(D zR{cUqIi$1jnK_%ioDPE25j{)D1E&ibcg874^VW^!KbfAo2(ZlhC z*gJU8swEJaEyBjse845Do|vchtGy;&*}Dh@_3AuPILIy(8C&zFlEB zutuuybu?ap;iH*t!R2!`#C3OegwZp!u<@^VB2KkK-)~%EP=TkU%ZRs z-sk-O=d5FaP9K<`$H10>lR0C=?YMluka?)l}1m+Fxhq22l2qfDLN zI3(|~LiOD2>>T$Ax~ouFKGYm^{rIGMRGSG({B}fqt#VZbPO|Nge$-mCulah>_U7Ts zFJ*P9_O96wBU`NavaznNW>A=@?Lp^bK11I8t?gFA^-Aw&eN4#ToTykYUmYwsb>te4 zZm%Sr#!{TaEpqPNyRVtGge9+>J*0~F4ts0uYDOq=bz_Pc<-dCOslALloYrd1TQ7BE zwpBJe_Tf#j?~o^WtwG!yOw zdrr(XzgnMr1;yNX89VgqRcV%Y`hXN_y3xoM(J6BfXf4Zl*Ev;$uxf$Yiot!iO+I7v zux5vJFsoT)HzXNqFKoPNdPO{Q<9X{LnG?|>s%8gAzjvk%tYq1V-?ES!%I@uHwL>Sc zSY9h&zcnWbuf4`x6;*TWp`N?yw?DPDXQ82T4pR@SMgiR>JnQOSmc_Zm*O%%P&8`YGS zI4DJ+V(*1lcfFPchCVWva70jn{`g7VN1O3*BX*(8R<_yuzE5xq9aiMewWT(1sMb@5 zwn`_^5Mhcf{1EXzei(fiYl;vNH$H6gaTTnYje_(+L6=T1Qdq6_(Xx`k*e_jkAkfFH zZK`4kAAKAXQHCj<^1FvXMmjRsQ9?O`VGe~^+)I%Dz1sEN<8x67bTO1l8u^&Ww? z4+T#P{v3-eG@IVi8Y-!I77KNSHLux+Q$i|hyOQRNW~(zO($=!+a_rg^{({tZp-R1rkaUhz&lW?b20{d3&!FEq_0_sa?N!VWB@Z%@8@5PCDvdz`r zW%0ti=HvY7?pIE7;3ft@6x*VgxKr@yeiGMS&^3fk|A62YU{{da=)`P z#6#>$e-j$I{`pzuLsS-cQPNx;i6kbW>NrOhUQ7r$7WXJ$VK=Zf z0&CFyC)|sfD>jXhkZoIU$btJ6O%t-|C|oVc404V{sBh`)w*@-6r=PVk(tC=wr7mbX zdp);u)i8K366cY!SH*nQTN9?@92m2GM7+0B(KjmBNzanf z^{I;k0sF8bx9QPtLY?px(UN;{th?Qq+Pzzc9pVd3wyAZEIow9uGWLh{ss%)po?Pb-wV<>|$BW1eF#>dj;33o2T@d*s?SYt0`l?S5V6aBhn%ghwF)BZmnaTjahtnIQkRBs1Qj9RefdK45@OHS zfjJfNESW?)YZyVP+!V74N>6liCY% z&BSRS#lX-c$ln32naS{chPTDrCBpbJ#Iep??iiAv7qu=f~={cG5PdKR$Cq`OgAKhDfMZP2%x97N@zBzX6~MA7iPU+ zIHu}qK0^%6{BhqIsGMu{VUvTo_=W+|U@8P{v?K>|<5Xv{W#@!MBcEZkJ_F9c{#7}? z*4+;BO-@K2Le(IP-0Ns<*7#MP2Z{urE#7+d92=>2rZ)=et*WtyibP#4pGh7a&50p- zuY)lwT7$9%X+i0!iGK4O)zlU23_=qFQQ6f);lKBzH#-C*K*V-8{Z^-D;(W{>RA^jAc!skf>>HHJ4^X;|8;!9leMME%pu*NC7yr&YLTp%tsnO&C5h z6Do4xHPQ=-P`6{42_i_nJC_zj8YZ!I$Q?4x%&iKbbVrkpeS z+PEB+UB0Lym#~UL?A4bH7{G#Mo6$V%m<8aN)!YY*MuL4}qI4{m5D_`y!@1*!OXZER zdyE%3xebQ}75Qw+YiPZ?!QX(>eb zx)oMLa}Q*8=MBlWmqD>_)g71m`u9Xyj5TM6 zcwo6&?wFp1!s|G)ji(SU8n6EHmtS*9`)H5st1h#6JBJkpD;keSd4SWGMA3MMQt60~ zxutY$W4F`poT>O2)AP2TOi_&PdYxA@GY)13F?kXWA6qL9-IQ+AG`QnAUrV|%{qfT4 z?bc(5_aaCU(%zaIo^yRmr;5btF04!kq05|G)}SY)6YR$>Le=?$q5hf2WMCANB=vWe z7QVZGdQSHi3o7rocyjpE>M@|XgG^mFS*PdA9V&8g27zr)p?c;aD4yP^g+|XPs)ZMmk z5Dhk%jC#reUTaO{@BP7ROv79#2u3oS!Pfnkf9yu;opv+B3@k#gq3jt)(bl5-4Zluf zaX4!Xg!Vff6FuHf2 zX#zDkpaLL8=-X8`?a@O7`e|E#)xPqE5!PTfKR>twN>{XDV9s?sx_Mw&Fi2rhB@xi7 zlZQ_&QPrnQk%jPIpw^OVfwbsHVZXq1Od!cQ%$M;Is>hYMyeu%oJyL`?93x$FodqGM z|{Gqav7-p$CN|}0%$r%=B@GAj#?-2Xv~U8&n^xg?^Gq)du&q!wZ2X( zJGK&fi)@gL?7Y%awZuW^I3sfkS9#fBzZW|LBEiD%ORfF#{j+1NKl?&dakI5q3qig8 z@Au<8CvGtgxkMylb;jP6Woj2K97-vJ2pY8zW`*gVt!3+y)tV!{NJEI+Q*9-rCwOYx zhG0IB%-6hwdhXgr!_r|z5vYWWMP^gI_z^$x<9?z66JJ+P#bVXO#!&a=aPbb5su*oW z4#c<5J3wq!KFWAdpr=_O!hY7SqN*N0aNIf`z37)0bn#^FHj!bTfDFBA5=(OQ^v?{V zOxLqx!{DD)Q)~58r`zBr;S?_9DW^FVBmPD`?fIPvYw^@enRL|RJf#QqTN;U10lF$2 zC~9;7eMa1H=4%%VXhV;n$=fhb@F4a)U!djYDJ;X@ly(tEGtZovLz+ZMvt)gMW*+ra zSy)sqC=-rmxs^|{bH|2!vu&~jB+8hJw~r~Vx?!|^%_LZu`CwCPJ+(xw*y%Myv#nLKet}SqlONu%<0Iq} z_UF?5I}+WGD^IfM6yD?yFBXS#yW;R$SO~c-yefKpyuz<+#c=(swN8O zNDM{C6dGy9_N37{s2AiJB1F|GN*3~oB7$tJX?*lZ8Q)N39Sg2Fg|fWhB*l~u#Qv_^ z2WLjsN4uOFYosD@#qDTs!jbc00+WRy#;e1!NOZh6p5TUk6a22?9c1h%$vR zWCjS3R@osUQ$k3hlCXqC5=n?Rxqip*UlqLf+;e{8`905bj@rznjl=6{^gMW*Gb2UU zDQi&-<4q?TBb(2zo(LW#o^>T5u;8cGrb(&0G8Anvl8l{aIUKd-t&aau;E0tW9G_h7 zLg`AZE$};2t<$E`;X<|=inB5%O z(jyI$+SverNg7qu(fWLF5ueTz>g#k{=$Q&&8GeYN0I;M=M(L^b?%b9U(54_hLLv{! zy#8~F({UrZEnwC(^1iz}z)I^6CXJ7;emx%7pv{mMh7U0v_UHV%*7;c_pbi2IGaON9 zkdTA#(FO$1r3(dTqOk@u5>*^L0A={bGU{-l`1fiyV3vZrWl@M_Pq;2*mt*trMGB;F z`fg%QvTtGB6pOlbqRvD$2&XJ(1Kel3fpT+K3(y5vq>YZre8AB>^XL4~y4WU9@ijR< zO4%15b2o%L(fDBvz~s4Js%pq&nNMB_sNh&NSk+(QAlzkuz8y*fX(GSFOUI-@blA9^ zNuqD87QB0%I7o<;7%L#&63e$0(j?LD7jSIOBKrK$`3BYD*DHWni*cNQ?g{4LKC1xz zl4^i+uS>yrx$79H9^;W+(@Cd}eSHXJt+U3WGI+f$iv))}EVBtI>PoPQ6@aWw1=%hc z2O8ms?J18lO-a4Mv}Ex5+DwI&)t$z|>-+J>EsAXAr;Iye$1&Y`*XcuzlBuz0_9ooR z&4y!5;B75_JZffx?lrBEJxM29IrsYX^Ro>(^5klm>8nefgPzF26gym`;Prd_EH0|N z$FTuStTDiMHH@%-Ivop#1vgT+4&BY%^Bpk`MU`lQeGh5xKFv%G03__e}CH)DAMK&V8Bn zGJveNIP9?`_G`*|}@Mn>rxTSj@YM5MVa`Un2$#>U^Or*{Na<0r85hT7q!AprVT@jIqGx zZH>bT?$R3Sp}KD}>B%5W=b!#NuE47JM=d>gL6PBQ&BrfT7@l{uSVNtiiUI zb9wS;&Gigf?=lR^{o6k2;_lHAaU4rROPAGDbcBGyelcCy2#u)B+<6{4ereTpZinug z=g`YK@(1nW=AVCBqNVc|5?SK&7bi+DE^^{~^7G>Q=1DUd&Q`m{un+tdo-TX3Ez3CN zM9|f^+$~vJ?yvrr6AH9XN*h1)&Jj^8L;QSfcshxNa0zZLxKHE&sqEma_SY)Lh#D3&7}sYK%tH7#4Vls zGOT5mWJn}CgrxsI6xQJaIS=I{V3~Y5)Tb*fR}k(b2Lq*z&6;B_F7xAZ+9W?pB_Xm| ztKOg=-;t$A2<*Q$-ui7`|SY7?AJYWEU8k?5j%??FV_&8uf%__`I9{PhcPT%P~(62NGsukKXKx z!#CK|9*UCpU(%t$XB8k;ebz^5Dij$G!=NOjc^R2Z*tv+Ct2e-RXmp%e0@M^Lv_{@q zSMeoUyBBNcd)Uzb_gSSMo<5Z~#yY_nrQ3BQ|NZSRc%6ky!1k`Y=~D^cY!Y54t&_n@ zUc05WKb3Vftsl(r9jb=ES`P4)CxPk8>b|AuK*xxM5^ zMR_9X2QcXJ$%#90PA?%$4tjKqtoC_<*pHDLH2{6t&5^HD+w1V1zH-7eMu>0ou&@Y_ z>+=zOv*N(z3Oq-NOxI}dK^S&I6OWYp`VG$nrEI6IarTiejijq`K zCw%D}9S%Zg)g=GHTlFq&7|i8pCQ3@w5a4K~KcqBsQNET*!6dDtQv5Oy#9NQhbph>? z2bro^pK4GQ_$SNJvcsSxHM0Lfm^V7d5Ssxqes9z7@L>uX;~UsIO%QL!}y1m z&s$2wym`E*@&-IYblM-QTQwNwE@`jnw^L8dm0|wLYFTowj>`-Ac>>kO6H?YH!(9mW zt_q9$W>ylg8o?u(v)x>FIonEvU` zYLXbp4rh653X;*hhuN5!U2Z3h&+|wx2}|%LsFfh3OmfmK($NZ>6eKzzJVPJ1A#-%eD#=ogOtKTR4hN&03dmfZk7r4&;8hk=w zxC~aB2+J&$bFSIo5YE;tI-?m16p($LKWC~sel(PID305U;XU5_d#t)haU%SKa-`Bw zSi#odVms+u?|&9sU0+!o*?(w0=@vWZs?49Gwc4vSXPfrIr8dN z>O&)Gx)aZRyacl)hSO%Dc=Pk`s91ctarx?`w z<4k{iiXvXw53hSn2rlQ+_%|kRg0dv3KE3xp513aVO=XCln?zXq{$LT-khI8-fpW;; z+h)b87(6j&B`E2%yaX~0zyv+N59*?0_1;U|bd`hd9c^JT(*pK3LJ5pFd-UoTtRCA& z=slkyvj&CkQB)cF58Zm6Fs=d(|H6QJ+G4W24qf0`Hjrr)i(i}j_qi=v3Q3oq2I(2R z`?10za4k`;80&OU6U8NLWwoRc@w-LVIyO+7Z!)%}LWWHA;@`k6DfU*(n5vC0-E!uA z97lZeR)76nyIVB5Bnh{U%wFDME7pgQ)F1uN!PFfO;5e8`-M0>ZQ6Hhs@i3R{4rErNRmKD2`s{jtMRI=F&xjs8IDE zE1$WQEHT)}vkm8K3w@gh^&(9?LHc`x!cVVPOe#o!*i*!AvW2|xBH*O-tLL1*ZELf! z%ZXtvhZvp&K$^%C#9wDpEYnTCk| zML%;U_h#wWr11Z32y=0~p4?)pRf+!PXY+>-_roptVKC43jxqbS@N3-QSGvJtZAqd4 zm26YBH&?DMCkuVO=V|yiRyA+mYg^o?x-*$_*9IZ;br<=VqTeKH|DkcgPZ>p@cbEFb z291YyfClfK-ZvEM8PsmTJlhtf(nASsn+jRO1$~ntX;x%h?8+fa{Y@9P@tAW%yiXd8 zfTWvuxIv#)%FFw5fFPDCn&p9rlT=OP?0SC5<@ljGj4oTA3L*l}dmH&_SHM%>l%oV2 zLz#__rp3hBLHoc0A7ESoQq0V>v|LL0XyK3OOAPlW<2K>-KuM^W8#WnS=OIl8{!%T< zlBsQj^Cp+CsZHMjnu|F3>Slho^LPW%F}CKO3wj#gk8>K`Kvf5%#M>KXV3h-)cPV}f zhQ?C7^yXYl2@V2~@9(=#3l;zT`@3^JH3Acr;9F>O{jE-(u?%+4H`4r_9N|bdJ|QBv zMV^0k$L8+-RFX2p5jcpv#sY<(hQH~>#sHA)a7z!%5h)lcm>_bu~#4>37E%Fo8ab!M5AAEc-) z&By;D9~I zK5bTk%(`G%;$|C@bi*&oMn>5?@2)SlNQvRS(5>pn!$z&TKXYUI-~cSNTqDLWOl?z> zHm2z&c4+G3r3k-(vHywCs}|Pn{Xl@@(~idBuHX z_ujH>jW$I>>Q)_gm7(*Ei)lmj)VR6Il*)f&Z;*19iP(}+^4Uh2FU6rgw#M>rrxLmm zpoYO1MN(^n=9p99g9S8sHTdwAG1=1{7J@gDL(Yyq83<>H2T%L>65SfDe-s~0dIF>} zJ{>dBPhaq<44p12wCOC}hSi_Y?l{(F7V6~c(Dr_em%)Ifi1 zfPbT|xFYvD^&uov&^b`siCi#|Sjdvq4ok|AFSEhsui}lFT-CFXXPGGh9GL+#e&4lk zx_I5EeDL+dL80{VcNH*D4QpG+EiN-QQmQ=Zn{6E-dX+ zB+lYpf|oM?@qWBjrFWaA=?Hz4Ep42si&DScaQWWhwtNjfv>7*v3e50E9VcA)tYS0^^K@ zxgjzz$O&lonB~r&uNz+%lW?0!awLo6Bf1pqa=G!7aSRV`+yY6=b6JXx`eWK4n;kx% zkWO0OaV~qYq+YHXn~LwQ5mSrl{ji8jnS1$IKZvQ3A4C5K!r_5I6Af`cw(3Pqpi_JT z+uC+ad;SVE?K~3bZ^}ifO1n*RvSo)CAAkLkgD`%i({W#UEiHE+X!e!Gfs-N9z(;>% zB{ZcyAi>Fi^B--CcAT59Z~H5bmelx(Ndk>-fLT)TdAl!J9voapoTw zOtMF>B+RXWIH8m{9JBZ-Bt4}yAsp@i=8@=QMvXi? zT@qJ|Json%|%D(1S!YBA$qZD~yW`cl1f%cYBaC{^vR35$gx z3KAyla{bhvw_ATuC7Qn{hZiNqI0nT;!a&0x?rnCsLPn*3P)1 zu?4iFHyejfki!8zl;@(0O>YFM4iQ-vvEyhaN7wi&4dD#$j4GZOT(h8DG9(`v25O3^ z2bziA*;P&;Y@{C+IB|jxwC7z5h%9_8->6h1LQ`F{lX1 zdU~?+j!?VhMN>W~5K`%HtipraFIxT^)gotmMO`4n1Dv;_Ff!BdKX985^1|iAuIB(m(TM#aj3EpQwFhf1PncIZP8(B7e&W^o+ln zB-gfRt`aGdZfSUElo{jAWtl5&(_Z{qX=4Jh!ou=_2DH)=7VJc8&91+qdH`yACGV6}034hG~L(0(pEi{aW0tu&tsIR9X6`o+j)Yr@xQgW*v2V*0@2-OF>N z8#fo(UfGvYcCyEl*Bl#0*zZpJ&zvKsPxONMj@M0H{60U`w}Ea&R$8(%M}JSt0SYE~ z-5p;x&*GTAdfyYQruAh|fA7}GnNh!EO(nYIBxx*Y*$*{FdISct*@JpS)K!tB8Tn!6 zN}0de>*PoEO})TwKn!@x@&nK_Rd>d#uK1quGGM|nenU_BsJ_?y_qS*)_9|FBuV5>|6MGb9HvMPZ| z#`I7_V}0xEJC07lAS@_oV2Sp5nl`he_O~C3%~^iA(H(V(;IvlE6g_0r_%H zr9);B80oH6w>mK0?7OQglXA9x(H9T6boyPN+LHfyl~v8Izso+H`o%-# zQu@6E%&W_dw3mRyzyMp^f@ym9xm8~djT{vtA3xS+m^GSQlw9K{2M?j;F>$h)_+5Ed z@-Cbol2;Z{8JSDlNuguqc@uhuLFuSNXm@J!Can=m0t3RF!;|Z80mS-d_&Wn-b-m;#U9Gsu( zPGlW2&N$5Uo6E`kOStI~Ub4gv=}}b6Uo%+ZSGyRD3dqg`cZt^_qA#&MSQ!1DI*O$# z^O#~Nhr|J5*_xPVUC2CauP>e)L$*EZm9Sjt=!7jIfyvrzhQl$B{M7rA<=G+0+y~@; zS~=$p+Pg>~cv{BFZ19>>*0K$KvH5%~Sto`^uTM}fc%NK`x(cukESLNb!{NIEK>(_L zF*gY`Yz%EMI9i*!dRKLLKR$IUP+3e>!Je+*X6XR$+w*j;ytd9JOIh}Tc|uSqv`zmA zvP`xu>cqL?^K4E#=&qj|T{+`YQ<1&hK2`z165Xlx2@8&WUXZqlikzH9%3A z)Up=J#+ooBMz-baKtxdWkMDOO5jGb1y~8axXJG1E5@(0Qz0WGYKfC=O8d`c?SCpKq zto^6!f2d=17WNO88$>cK1cnxPC~B^GE7Fq1m#nEGTru2RKO{P4PPm3*5I)$qn2v{x z8|taa5jd>SxOapUPKp;;l5j#Lm;k0k>ZL}z9<#%rsdNlYlmqi7pVkNel)8@&kvP;f zc~t)U068v*Z1Zq+rP;k>I*GS*$J|_oF&u-KBB!Z6`tz4UQ?0v{V}Mt1^VZ3!U2Q#C zwLr_14tj8&oU~P2|Gx_bHT$6nX8;+GzyD1#k}PQ;NUKLk+M@NRi}XNRMj9!>Ig9V) zC_k(eL5sJHI6d#8%iv>@bMbDHUJjqYLrrCyv0!p3bbs zaEgOpt;xaM<96*w4c~Y@zw3_gyUg=$dS2A?yV^w+K8E2j;;plml&Y-o60L4V%VmHL z83_p#%CHG)(b!m&j9sXTDnJCU`Hm}wYRAO%c}$PQ+rstPtlpVHXbE`GiWbaV>r<1P85~0oA8S4o4u^72tf}aZv`MACXW6Gq`m}?ehefZ9(;n18)m-fRPoLHDf4J0V4g7|6EYa|9GR!?IPT zLUt(VIUsoZAX1PWbnfH5ukGq93MP)sGnHe)b*Sy~#KD%x9^-xn{z3)vzw%kdrPw;hHBcDG`i)wWPaPDS5E_&jzd`}? z{Rg@|+%$hCr^5?V;}5Mcu1#r4FJEKAP1;)^ny9RFTNy`s{`UF?D)@D{ z2zQ~p-f^b5F0VD>o#C7iY;+{2uE$#ZqbOTX7S!%JQ*&+nzwBoSi~id9p@-YT zu$ExP0?TBRc*Z#d*wHl9lb?xEr2oi$-AiQnT~}O97bA7u^Yf*KvO`qU#P1%DSLB?M z1p}KiU>Tr7jBeSVwG%Wvg?J$cnUs&4dH2#k6m?n5#}M>TzMUzTOV{9c?4<;r9+;)v ztiOSCH;eYy7Z`^(=lcJPS24^stkFDvOJRURDMW78mF#Pk`Gaa#O4JA zV|bl{kouR{1F@N9I&{b}D|H=^tua{{*8PUEc5I<&CXwG8^mjmt=jf|mS&n;N*!k?4 zay{#r`1R-r*}yV5nl&u}-$?=W+D+iT*LYZS7;Z^a!L%H9(*xiv!_P5KcpmG&TBFsS z$qgI<#p-;6@16>`F(OiixJkc$;BAg$a5jIqM+=#|_;_ET7n_0AZ}k`eK5F>~vR?!` z32YvM`GpOx z5+lRETEupbi+GC)Qtd9DKL0^)bU$4gnBEuFbX~2Y077Qt;1ztb!?*8MsjRnHj!FwugC^i(-A=}4BWGgEgq&RuFDatoO5B~S6w(!DEV4TSX-c7@)hy4M)dF^9yllL!><)-y63)( z)a5nbGRX3vLgB1331Vs--k4Md`*cqhyTuNRQ;=d17iN&m-{)DE@S)FN;h(q}@<0tE zATzz#zpcmb_hd+Zf$OyaF35en&!!!B**WW&35B`{m}^S&GL-Rs{8zKfQ=07oPY($iIiq4#nh-S&&qa^YoCb)GU@A#v}7nJO0}XLcO-L)s22A^?Uxm!sE_ z!zpVAUSasWQD{>$z~uEI3k3tj7;{KfHScw=^$5waxN%*S*sXaiJ{9nmAeU zak1luxh^4XT>Z03i5@5vflbDuU2wH1FuF^RJm?cJ9oAXwZX+O~bN8hK45{kjwkI`i z*whRH22JPZA7G;RheiZ~w>lVQ_k07Okbjcs6?HjxLlT@;=yJtZ?ToOh{i?)hKSy4)ZX-W&KGY5jJX zMAc6OikYZeR%=-Eb<2!$3_1BFM5n<_kI7$LbVkP0c>neoF}q*gPrMh*lxamV`pVo- zV=k{L0W}!R#MGLD9`FNmxr#ACtq%%0zQjR3dP&Da8Saz9*mbS$#-egGxf_t6ABviT z&p&rNPcPCa5`)vgp@SR|-P{-^aDj%C(jE{LE5Bv#%lJdNG%`Y#0TofT{0uA&t~dPD zbuSwGv4_x+IpfNK0Pa15&Jw;@W-wNI9{k#;@Am1>p=^ej zii3&+zAE>Q$a|f`XCZvfEhEw05UdfB(2MO<&fyAEqNV@MAiCRJ>EkHW+Wx2vnxCCV zV~<&?Kc$WH<>P@+8*%)dWP~hC=ZH=)fzDQ?;KL6cb9AEtFpCW5RXJxFjG2!T{-_B+ zwu=1I`hrQS<16YD@8%pipH)mImu5kPi`X8h5viM^lQn!1;PCR*8-l_$2q_>Ma-Ob* zu@_@AoikwcblklC1}%kVO`jLT?_TZF)J*j^%t3)or^unlucpAScQM+iW80C!MR2xr zJO>XABShv=)i6@x!^tExe^%KKY*9X|fRtZea27ZNF}vKk<}#y5>#X}?q@Xx$dEEEE z1zQQw^v}XS_AKA!5gvy8iu2=y5ino`g<+W6oOWM(v#wCBiPhGc}@j&Jg`+$X3Q7hOq! zG91+2qSPJpL}uW9Rsk(lGDzxS!j!EOjghacx=TYz(%{F{3xq)g~ruyX&THn z*eeOO^bge=ui7b=xENe`DQ|1RTN1c%d02vlD4?Zob822#`_PK)v;*A1PX|<7G75(Y zVcAK*USr|u!tII<{264zu;L(?Z&B9c2HZ_?LMGYNB^-++xBtlZaW6SaUV6MUyVyAS zBA=k96%|Q5Ekx#CO9OfDpD#^-dh>;xHJTdrTzN<9to9!r|=L1$QHyab>P_>F3Fh_1iY6)$XhteDL8H33 zE5}khB_EmGPKs1tUXa)i=7MulD4M2xc(3zwJCtNFb~gRu#koKiiS8U5;rMuO-u)D< z?)t2rU>lU|G^DYftD8cqn9HF7^@+{DQtP`doxP4O7feAZm4q#JPV{3re7o)+>Vj=G zU=BT;mh3Ja|FSLyBC>$;?Z8_>AbB$tc7$!ytQiu^>q9k)2p%Br-D7#8e31p`$+o~o z#k&+^h8~wkk<_&L6q|#K4y!za*Rv2ZCvRU9Jz2?th_{UEYa8SU>7X2hH_8b&ls)E? z_QvE~m|IFOLt-|Tm;Ax!$2V6(i7td9@On_fHao}X$rAEqigHmdo4)bpCoq%SP6Y|+ zPD7B*u%KNz@^K(n;~PrLqTJ^9ovQ3p9XS_!FTUm{V>?}+S!yo)sSNCuYpsTf`{!Cx zN-yog*?B;dT5 z@}lV^mK*}c!+$a2bzJF2)kDjG#eCSQ#~REokR<$=%&0p89J@$NK2^DRp)`S)v|-NF z-k`$_Pb16b*hob1XB9omZSJ1?^?b2su{>T2|0XS5V~#gUTFg(Pt+{uiyDSu$^wnu( z?v_!kU5xgM=7LYc>@siA;ou{iqONmVKE3$7q)(OUrelwI5y^P+WxF&8$)(stG!KXa zf`@2_ZyJmdYip7TzU~C7D2b=A+?H5hq^^EZSB&8&S3pL3>&MRsxd7blM?~LMFOb&5 zHHdII>@KVA9=9E;Yj$Ph(m!r9$@rG7nF8erEhc}c(PbEx(gAnF{o;%_iX_O}0`I%S zn~{8Iu(N!gDYmszu~J=Vb6t>=AdzgP&|^5VDI`z!7YRgMHLLMIGzYbrod}l;>M63S zWz}|rz9eYH;adWn+kRC0C5E60ZN}FhbIQDu<1SU36t(?w%qVK8_sR@QfgJRW6)vId z2e=I7Yw$DQbhUTJ{?#b-X&An_wzM$<$ZYlrz@Z#XuH7{%t1Up#R8OcII$z< z4O@|*G6d=p(&!vLUUjAG2^NXvc;oY+k1JY#;Vvuc8kNy%5$+RJ7CA}`DsvGi8b~~-#$hM>9pPwi zL>}OVhs2(1u-`i2UgEFKziV`ml=f`+i(jH4q;`!nbxpUL9`sw^6WoGCQv)V92!v+LNm338d2>B!u`U-TCoFmRe;{QWXpyQs5Q zaK5bMdz8lFMZhTscb4?`cfVCl8{=FcN$tsYlgIYFlM4I-qL%NLg+rTcJDk%wHF>~cxHht;MsgY^vR9HN)iK2@A8wY9)_k5 z>r`aYpYyIOGgT(rdTI9zS|fD{N39J$LUhnKC$&_ykYD=i5^NgBIxDKbrAH^_jsj6B zl2^ML=j(_y1++lg*2FE#C;9bNDL^|tO9nhrT!~&?@(Ay&4wlvXnCRlB-D)#zxY00{ z2g|GHMuoxTJS?|7eE=dMSv6{}89o>J!8H;*)!|!< za@P%~UT44g2W%qQw#$_i!czbocdo`~TCKZ!o}$1H!t3G7<3W{E%(KEwKh9oV#R}-$ zqx}Dwa4{OltZ%^$q(68MGp+yF`%61Ym4nZ~y|X(1^Me4xbYZS+rS9aJX5`2ykN0?2 zcELqIW*1<=eF_YZc<1V4qXj@vC=1@ST8IvF^3IJ0Cq_8c9)B)36<-$$k>gKo%i{OF zR&~u8GnkTV3q5R2D@+ZGdh)H$cBOq39EkC#lyeXZppdYfP)r~>EWoyfELENja05Ub zpy+e~`+I;_Jnq!)OqK^Y<9m8~FBG`kod$%&Q1pWu<)`Sg-}$r87^iRI-#z|%9^2`I z?3#PnlwN-GtYI-5c4o`0373$aaLRUdI0tt1;D-~U=g>NjaJuL^MJhsBh zN7u$qdntpeR6<65Axl1(F1jwA!}B;3n&XpgtpK}>{wKI+#HID(Td{&!+eqJv+Qn;A zJS_SWxRrzOW^k9&UfP87JUN}-^Xo_kQ6D{;Ax@jx7F-cdJZj&;!7X$dzI-U}JIpje zBndE`bkP*;s6Xk-47>{>89jD^u9;kmiNryc2`U||uV&#JvQ$EwY(1RUd@X;~vmGX`kiKuREwU06?>)j^t0~V@36Pr9U5`VoC@yVGX#)K^`xX z=-|oWV=cd6)H(By_a=M(Fw1PxxT2&X1nyehWdr`C5F4KR8*aX7eXrcQVXU)71pJrK*dv#I z8MG;+DRWCs?byC}o**n-EO5``!?rbg_0oIUA=$nfu>dUa!70`{oUsI8pmguelkB&_ zE8_G)fGG5J7{_AuN1KC;)-Z&_qN(VbUyyk^YdQLC#ep6e^DgR{N7~>W%$euH^#7;S zhR6PN#CIjU>r`c?j~s?aRKotfx40lHy^Pp&KX*9n+oN^-Vgodzh0ijC?Wcp?KRK3S zxRCH6s_Qgzj(|ueV(0*quo`hYR!NOklPP5VPAguYPR~dSTMc9%>RM7a?h0 zb+`mGy1_aSKmv?pb*7o`NcI+=-~uQ16PU49aKBCD6<`x}F?_D6_hT|TC;yUHqAqg> zzCw@O2ON)7P5j`%OA{O{z$ma`EvV zoCj9#pd=+yrU4T4U~St(;C$dupTcn!ipE5T>rlVFcqa~9%(f8D9>;>U=8uF))Wz6%cbf0BQr}()|Dmt z&8QPA+SfrNxYoLDo7<_cr1da?H6E^(T}=B)!Bs zWJ?f!tnV7WZ83edjq-EBr#d17yHu@cxeMb-5Z&rmD;4l1)lVM}&&L>H9{#?YnQXnG z-+h&Fyg&?0@_32wT^y!k6HG5@d48>UpB3EvJ-$fmPrRD{v=s#v@_^MVK-Ya3CDFMJ zaf*KZmw%vX^t%Y5C`yI9RsN2WtFcuZdo%jS^<(Qkmwr4P6&Ju9SKoOjIs^HqV4g;s z4n|Cl`3Ja&XLil=xRouDAtM!}pW7Ghq@u?M9;Svl-J3~{0P>(9iWpljwN0-g7JQ-= z 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

5v|>%t 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

Yu)| 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

pI8#yNuhzwpD@ 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�UneHQc_yt3*as3%PMj9}Q~EBlO*E7xk{ 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

Dy)L4g0Ij`@!JaLjplVqL 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

2{V6j@}01LZ1}#5A3QCIeZ{L`)3f{k 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%0A|O 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%0DgYX+qjxahu~^Lw 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 z≻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≥y6pxga+BvAoy}5^`B7ttqM)dl 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

EDa@3{#6g?8lZrWnn-{rKcF!#qNi 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

_2=C4c#tyb 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

)cdn6 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

`A{oLqUZ*|7H#tF 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%0D470WVD{>DF+xZ_cq);H#NL4 zF##LFty+b&TpqAFZudgzr3E@3{u#;AH|u&KY&uzKFB!U3c7GcZT?V8_UqJ7o=I83! z>?HWxA?O0xk6W>4d z=Usjefxq=CMDU7Hvds+F>uaGMB6X&?M0;(k&}0(JsSN5Jum`0Zs5;q z;!LMDQMO2(@Kt3MLbOw}lDbSY1l|RX{z}*OpCt@y^>Ca$gTLRIKFxWJXGoZ`vgr>y zGS9vE`(8|tTI-S{ZP~nFzisO|580D^LKu!}+nDvGn%x>($&muZOn%CXq3d#JA3z9Z zij}Tf>)ozDyql6L{(yzJ{uSKhLPz)iq}o@7K>--^of|Zru=3_-K}Y5tzZaUPJ9j99+9&pWVT z`1QPD)2P|;+}F8bZ#M=!GnTv;(7nKL=D*BrY=Q^;!5?Pq4Ex+>me+VhJhyjTIUG4s;dL7G`^5$P! zt2o*RfHQOurA~zFqO$Qog4{GQ`xI3oMPYX3y)fR3=e*tq#26DW-~=o59qJWZ#d8pkE)^b16{0 zS8FlZwUvZEkd$Oi^;7m{Wx}?kpfg2I*~7X1p8PXuq=?k)0wBI}T}mJo=KTZtCJP~B z?mT602CKNvdwUEoc5owVe)|ypf#Nq6V!Jb_yk!B|{H1~by!-D4-YtlPwxt2i%0H08 zv1xewZ#KsjVOkEIMWzFg498|ce3eofG@`m86!pas=F}v(JnDgV#!8345Ru~Q`4tes zr|&_?m#aSGi_~S&I@z66vJ%7A-hnZBZ%J1gb>u)211ZZG<7iq6~riIY#gQGHjqHq+NJFth# zgHPwV!b5N1C#Gz_mINtpg!USJtmqdiKmn|?K;L-O_|y0+=z=s{e%xqrOnjA*u*w@)R%PP4+|MMcV&wRYekQei90 z;A9%~5`w|@APf1uXTFKhFWx-x6h_3!pJymrhqUU=5f~H6x(2)tDvL8Xg--D>#J=2B z?!JgNCm6ovZ#g6h#ecVFd`_o(Cm#`960ZtIb{g-?2;kWF+>?>?zSaucKEQOpC{IN{gT3vU6C(z;*)Mo7VQ7# zG(4~(eNjxe*8IzK!pW9AC8{QLJ7@w-`+i$RzsQ2``Rxc zSs!~8OU5~#`{mbp->BG97&lTq?tF&cgL9MGZFrmmBqe$oY*~M-_x&++)Hn@SO3Bo$ z3Te<)FK~pl5;>sY^A%N8hb!tODK0kAFp<1UCvz#-L~@hpdAisE)47b=~2O?Sv@COSIgG8!LOCOoheD0@7u z*k7ranH?$ILk?FSAI(j4Rm!rC91?`5RS>5 zV1)#03R{#oi|`gLE<9VvEQz@ktdDzc{n>{~&NB_;2OL725zk~9TXB070`^0c(jK&O zs>d$fGGv7D?KjK(rx?h$8fyv-6~LX)VXs{dd?~=mHe)?wkvz5acDwtGtn1*#P}CnN zs({vgXUo4Bi$a;Y1rivZByDO^74P4g?1P z(&S%&i_lozYzWod8_~o9gD6>t=vc6i36`7E&iLTE&4X+vmw~VDyzwm3q_)eO(5CLQm?Oq{v*nDfe+@ngxE8@p*2o^P&Jv_~Zbo z^w&6bSA36!S%l?Q>0>g(5|$V~w&ik%01o1WO>j!>&!UB);uKIsp#9mYs17%<#h{{f zQM(}CmVVyN({-)5ffYb}VpY_I6j5ih(@*$%&w!sJ32`^aly#KO=luyLe2Pf1Z0?j> z2QFIv#km}osumDhX zxC`2Pt`Cs4fPwf_TJpBV9&I!{6NKZ;~DZ`MY2Yz%zbmR!T^ySJFzWb3Pvq|sLGG6 z{s;&@_FM6r0sfP>#@*-4PxX;ZZJvSH#A@458)3P3>#DvgDIsUnf@$K9toh1(TjDHL zMk$>Zss-k8@dJ?MP4^>bdN@i%bsTl}OXiV$!hNNP@@?cpat zZsm~a0{RnKuh=&V7iRzgo*$rmv#*jD85v-Rnddu| zrs$nb>c@ilpMnRi(`?sB7u6ls?!08F5Q%VplY*lBn_2Kb6yZx(G=IIeC||ba2U+Vj zNW>}3w6z>W^VUTlDTJ8FjUy!xhyO1Q`v2|s$}A`B{Xf1m8riXEk!bO9Q_yHp!ox6y zB#opF;!xDFP=+IHfo!L=U}z_F_k-Mf2uv;8?HtovjGZePpIQ3OVy$!AtrjAl6)S`X z=ogniNX|F#1~^{6O{{yjZePB8EJ2$lESEY$VLHz-c#{5%V|+O;u|o3?iJE=v2Tj=% z;&5ahVY*=F)3Y!dOl8066l|gLsBM#K&S_)ZIyIhg#kk(8SU5Du0SQzYio=H|`A&-D zJzw#tsJGkG6VASR#!tD7`eQ6(0PtHJ5PT3*TjBm}rm=RA9ejirDVE$Wb#(V#Cd2Gt zDJfMW4l~4&Hs&(K+SShg_RRR}$Q$rE{>!aI&F>nf6`yJ9dGonJx^3lT?I5z=-0IC^ zaxmQ&C02Q&;8%}+ityqb*B<0B9Kd!Ne$T%+j&<^tj&>hgPflKXE34M+%WU<>v5Y4e#tFP^jEbkB2CVdHB$$`aS%RS9)bur zv8p4sXGHWMfiH_sea(z_nrGU{3S1w}u&+}z+Y)|x9;I`6?Wl;T3a}Mc#hVa4x}WUD zlg<)AowoG@xQf;xU)%Z2bBlVJ_qkdzSKw!#MYdB+XL3wJ%R_l1dIqs}hrU2^+`>ij%YrlW@R+?Tcca>3#7? z3U$F8*3!TPHjrLh_19DBE6$DAQrZ%%L*zAouomom1bbuq2;z9cLysh=<5OeJM zY7MBcRVd&Vl%%J?H0S*dEeN^{zJ#0rTUS^(Se)f&LdrBy)Icjlg0IF=|L4MoO&es< zUr5SPLmpw4?A!)DD#{c#CQk^_WBM?VZ!1^e;juEP-xlwsZp^suK&vlnY?)wswfGyD z7#kq2^Ybd>PdvbV<@C!;*DwUH`C`<34On>g`UAae*4zjSl?QDH^f_4XbvJdflB$K#hOK_=lylvdM)JOjlbF)+_P&|lcnaX`n!-4Kcv z9!3-Ju2X?0({D7@DP5BdzS`-@0FxPaZG>j!^xQfpk5@b>RA4zEi*c{nh65Go1~H3= zYPa*t%GOlP`F(FM3%XG&(2sQN2)raa(c7vYSKdNiEZCp5tFYCv`6u58h0Jj08>@}U zI^Qpul0rC@*E%%O5lW~H$Kfl1iv8`Mt$(>rec2iRof(!Kc_Z}(`##@InJU5wu$HAb5jdw&pRsyDxbX(P{2+6ZjE6x`!NK$Jm~$?puJQ1Ut%`B%@az5c^3{s5 z1SV;-F-2xS-6q1>V?B)p6D+eFZGJu1oM^4(<>ib(i$Q_oux%H%d-yljMJ2s*Houav zRQ{)4y}I_GQL7Lmv<;&9ZStTS^6s?`oB*bPTcfKopk}?1eXWg=XF_#7Gz{2JF zJwuKo7yH)!aNtX*<<7RfE7HRlcTBiVC)qgrJNZN78WxeP$rFd`4-wQV8BPI^@S%p< zJ<(DgwW6uFO62C?6_22YWLq_hdgc7!DN9Q}n2&do3S#7~*BRs6I_}|dBRj8h5Ff0U z5RP#x_MJiBvkKW)F=_;gpw^+__o2^uZwXqf)UVIFWa9=iQ>-In(M_?S&)*gR8F+oy zpP~HALz>}G=E=ijAColD&c4GU3Km-_&x>&;I%P9eh-uI^Y^G+z36p-qfniaX;3f3= z6TQaEYI3#To~23@F~B4WF0}QfUNgbDJD&EjM7HowRjnA6%`CFrMopT+senm0hJH-& zY&qm@8cS>MxSS6Yz}H81Z6SZbjUSyP@^C+?fWa549lS6)yn5By(1u$kmVb#i5MoiC zv+~1T2|9CTJg9C-s}Vm{OtNbmqyN@rTSher)G=bt0TmYmV#Hi}Gd@zUV>o=&6O3^k zx0#eeFSg;3EgT_{?=|fk=O_Vez9Mk6I9NP+%z7o3 zg$WeW3_+C5!KtdzBk02$s$UgNH{Awk59_L&6)lpsBryR~SKhjM_)jIBs`EeF>`}9# z^bh37S0OgFB1-DLly(lT;WhFT*t4AWNiDkcEUaKNws4LOhiy7TmbxSjRahOFSN)g5 zVe^gxbiA8tX0fmDM|S~0U9|vJOLfAO7<$Sj0w-*oE&_9@IHT{DR*TKgx4)aWvuA1x z9EtwpdeZU{mBLzgoV}$=nwq6iaMJP|CI$iVg|EW>o=Gzsts5S~2q26@t}m#m@rBYY z^uLHz6FLJQUkukp#5M!pJC#1UnDBxF25FjeWkb!=Lo_Ys<^zOj%sEej@hMG^KPL#k zv-i(Bb)GcK@GGg>iO2ZK9QhOZxH`|#0F?LvPtNNR@P7Y5o?#*djz=-~UeBJ}0lU@O z)X2HptNilI02=N?tmReeX#9yD3Tg-kdyIn~Y)mnDrKfAy?fI5na>|XKkOi}x3ySp=Z9YbV>(dV z*2RQKwxSCEu2d2-F>!W*hx4*FOGh9^&i>vgQR>%v`l#o1j7Kvcz10Rlu9-+@!vX;P z`vpp6xssQM>Mnxav9d$-2KjAi<9Ph3v9NI@qS)Os;3YtqGT|Em5RUA>8s~{qFsLTv zQWL@h&k=@wS@g~heL`c!lH_(BdOvr*aa#o4MLExXux}qg>vwZ2UWSs(Pu#BqFj$?D z2jZSIozh|o!<$LI$-nN9Y)`iYTTr{ZLG;tOEIEHDss;MVkF@)ZzdxeXdXoc@Y;-$Y#(hDz6jdqHX@0aVEuIO_$wY0; zh87*TB>4+RQYO-d7h#W7vEJTSXzn;rN^5-$VVt-=`@!-tTlp5qc&3e&O))iX=dR8e zRH*c*ZcSEP)9j=aCl50CYF52u=1t+8>>JmR zbA*HB?K`h#q?9=EM4i&=wpN`#C7^Y+22yTjX5 zF2PaDJi^B6aN%FOqrvC^K-Al;FVX)mAv@dsRQz&gP|2=PBOprrUs!dyb8Njb>Z^p^ z51<9uWecNY>+cp{97t9wWhyXZWJyMMU#*aB+XSCcm}LPl2=PAOl(He?6LE#t$2Y|X z;kcD;$*^C$XMy?xsw9Dk^;90PIo>$KQ(Hw|Ugl0+*S~$1&?A!IRUpiEyf}lMF zeV$`17PU2iAX0#-VOihYn=BQg9ss9#5f2{y0c@(6TO9Lm_uzoC=a#;DDL2Y1SC!J9 z*UVS5J%K7t#RMSu(?7CV)}A}!CB$DVOj#IFX2Bu+UPnDizIY^iFMew47~=k1pOi1o zFOB3Liikt2kw~50MdtNUM?Kcpli4hgJ};SOl4_Ew#2)78gV3(6EVjJ%x+bTqq7SoP zTXN+PrKGK2E{Y*rOB5avGrZ5Q$1@+@iNY7C^}QSd`hu`+6RzYL8&Blf3dI3(4rv^? zW;V20Axy|IF83e5gsZd2H%E}po@8sbcq#2v{Vi*1uSV}i!M;U4F})t~M~soK{i(Ba zQkUlmv;0Vr+Rr!m7`>R4bOhx`i0>$8_OmTpW`u#th!Ji=r%7QlUe-z)sT@>%J!9#y zueGOOfSgs;A8tG=hq^e>(9jIn^V>Y6Q!^8Bgh4jx%R+;J*p1lCf};m#`(4+%l3EDd zfUHkFEA+h-8KQ9e6V275-47FvKeTF4?FYpUui`h0dB?<`6qvI4-19{)I%RGA#>6)Si!|(Ox1Cw6noF~7eT;~)MVPdo++)Blhy69 z87-r6YnDB3#;!I;XZm;&^-*|2YT)hNw#<@{$gphtb&efR8lE{@knG*o5-Aun9L5PI z+^&xGrO=e!Nv>!nsr{BqHM}3}LDD>KP~60}t2%X72P|8%x7?Ye7tCcT&4cJ!?N-dX z{_V1ci>b)3)exf#!+#rF5-5c-vge(wKFSBEWl^k@b01`H|zmf2Bl8?=@t#Jp>iX z_4ijsXBsbWq42Jo8Xp{TNMasvRdxW*vL#llAVEgPTrwnm&vR{!Ka0heX_2evw&zJ| zP8_{rn5{|$!HKI5hC_z-;2@ILdu=~DqdZr3=wC^6+lVO>^$5;k8vZ8uv*YEwl{F;| zgsf`Ge)b$S75S~W{V{{cyL0)yeJFIW-86tu zDmi#1#xgW0}YOUUhzzsvyifa6JSemB{s7K~A<0=O0 zMh%e_>c&^m_nRqo;wufCl{)^vniyp>H1a*I#g!rq%OPUHGCA0Upzr7&S`kO&zTK94 zmDNExJ=eynluds3@~S<^gM#Ks12&jIuYpE3M~IVl&$zR6ML?ktQH1;XPX8q*c8(a{ zB3>ytxbSE)?*v?zhtV{7uQHY99ICnjj8U6#Kvxbi)qS>NTV`}2BQU)D;32LPddrbJ zvQw|QC_fW%-=1^VN`Pa0rWfqK7DPM%w0dwVkkCyqQLG9_3nU&yn+}|x_#aarb;~CV%wi~`JIQacX2@`HrcVl%- zE!aUYJo~0#dsS7?VLzq6h%C#=OR z`oMs3t99g~w1W$E)gbb0J#1`n>w3gBrB)Bh9q{>8#gg)n+4qw8 zBZzI6zb4iA?;sV9NW zEW;El5_cWOLPbB(k#lRKF2Vi6X8wUpRouD7xRhPA9I?drPsO2j_qZHMe3`q zAHWkzAZ`w*dW}ks0&AJ+pnb9wQF55hZzAQHvfWXcC=$afj;0e!@|m6OSsflf<-p(+ z35PID`V-yi#fyY~UZmD)E=6HLU>4y-!HKxw9k$mRX@O0-1R2keYX3QM#E7p#`IE!g-psRjjr5l3Mx(aCLLuJfJM>Y&t@CQ~|$t7|6xO@&=(E%kT; z$>*vJCyO@&srQiie)DX_S+qi|U{sROMjGxk*6miZJbe!BssPel3ajt2&nCjOPr-;S zr_M`Cfc^^6xb2tAMdY|-&$+h(JNP1%25?36Lq(2!Ea2bO1Hvr1j!i)IWQDLH79dVqDg_^~GPGe^A z>7i=}*aG-J5HNoBDNdPjyO3@KtQC(fR(tH9i;t4u)9_p$Ludt_Kb2a-5yYDU00nqSd{8(eO?IH(-bz_Re=Q-Eyr(a>bwFgHqm zcHU44H&?LJ1ySqER-vY=>Bb9|!;tenMb=+Mi~F7#cf=9#i!$3^oeGoRAv#Pn)yh67zj*zYMG4%Yar%Qh5R{xTw@H zL&xO#QMS3llzgl>CkdVw#W z!D1kpBfFoqvEIVXgEb-=X)2^Ru=7&_@|SNlHA-Ko+B+qo!n68?`lV7lMJYi$Hrkpp zRi;728*XkrAEWDZcXlBz?~HF6;a4g=O&;|E@o^P0NIGRbbjK-0=p>zBhTh z-ukGpBM{0XJg-4EWs&Az_NB3?iM2ch(Q1mkX4_zt+|XmDDeTf`Y64*7534eue$Onk zh(>XAJ{N&pfHNoatM8xjtEnx1rt%b-rYL5z=Hc8*tpPfHYyn=sL{H!m@;EFq&?QX9 zzq!1*$s=dn_cezR2;L9`#Tt1kRkOP41)gbubojx}jigrzPQ137#7m^vGYMY}zhbot zg44z(*_yq~P7UiHm~zAI`nw5A&-Exe9bI9-Rp1NrQ2)%TlKT|Po*7KP0@~EW0sSh0N!e7UYes`?SjwOJ2Vy?5M@hLK zDdWd5w3^SGM9@^ARKY~UE!-=7RE+7GkvSeI(0}BZM#uXFA6vHWuy`y+3IE_Y$li^p zgB!Jfe`Dz@ngp#^E~Md&Yj5D$mS#R7m7cn24x%F~O6y0=FQijU-jZ3RJ=dcr+h(sS z>s$$uYb5}ou_^G-@F@>UHCF4%s>Ch+;UmH@g54l5JT9hwY=GA@$!w%Yswg1RI$Rpy zBMVk}X_5-!9XOKB?}21iw)o8#>Li91^Gb@N*~tcmIDjPp%pjqH?a zdTRB+URernza{pvfVXp;ZnZMAwgk~P%Gtu&hB(;URk^eNs_Z4cDQl1;1gfxKtc^{c zTf7Ib2r%5g0h#@}oO z{{xoD53QAJxTaG!0O*KgF-hoQEt{2&$S^N~zz9rSWGp`J{luB*KR(D-p#jBToKt*t zSc6r^-OzK%@g79ZS&xjn?QseM1I>z5HNu7-KC50e>XgS=Dq7G?Hak|j_VCfk&;3haSe@{Z8E!f&0 z*O&bRaR=>6%@W>WpVIJBB@=XZ?RVa5a6<->J1Aknzz1RQ02BZiDfZ5nq&?Z{HnJVkp-77v!f3?AzL=n(S((!s z>w=6&!UVIOXLrp;)hgQ|DC$Zq0qOBQ^_yw^D$`Bt080kM^me>}bnVu&V6RxyUSBXa z07q}T+dY->8jWfR&lK~dtqdQ!gRMj}N0jhyxUls0u#z!=(Ehq=| zE6veq$ihV;u#mpI9u0V3AP zrjnp{w<=G9X}pkNu!y|z^ouptaoo>g7Pt=k1xo*9qoN@k#v9@%6apXlE*fV21Llpi3e7q zE0Z6r2vN%DQ5*x-Jcp=|uH-b$7^=w=ptNe;@cPZqA@v4=RG}Y%Dj;QtFY(tsX?3X^ z44Ro_z|`ysHxW80#+B#$0JH)f75ldT@j*C&?g$zISlI?WwlWpjZgtsjyPZ_OK|h-j zS8Lag8~PAdd0ojO|8BZT${Hb(LJR$ociIw{Yh8`M*bY z1Ps5nlW_*q{EN7aAli4wfcQ>=&!vy&w$EOvU(h{>E_MKD?T$lZSUtYGz=&&{FnTk% zhSp7p{95hRt8_J41``Nw`*`lWm~=TejHc7K?kzqG%Bi>8yW8yVT57;lB80%>AK5F= zqi6ayB<_BFAO5I|raFAvt#NW{x3AWl?B!{}5wY>Aqp1Wi*Aq1@Rz) zw(g*t=8M?3c}>8X23$(z=xoAglujJ(j&K7ZK%-`nEC=;n_~cPx(h(w749m*I?qw_{ zIy)#z&Ze33;6Qovv9&38(vJS-7n)itfmR)8^CG^Ra|N1P7yG*~LA*L%hHt{B?eE1c z(^@)UTatP=@l@)7Nw1s;00Y1Q%Vy8G^DUqB@vu|_;SE|y!0x8TIn)U1o0_{0?x!eS z#EU`o*fln|EjlX88s0UyJGdwPO8@l_0H8-hIBuZlmGo!ta+PtW!`)K;O=&n+cFuF` z-|EuCz0rvOq%KM7onwDgg16DMhs}N(z0tWl{ePvS%lFW@Z||a{-Ts3C{KIYcKYp|` zw+TKzr#Se5`GaoPG|G=?$=Q!*_@PC)P27lv%Kl)n!v*ajHf9q8q{kNU%CKX-6S=k(ll3M$6rW}JCaJlE%7TQd*o*S zDo!!hhlI(}+qpBR{Lc(e4woB2=lJCv3L87Ka>FTYW5!YaaT)(-rTAgeS@_V9+9GSomafLiHrvf1u@snwOFa70BS;rk(|<2W;GUiqSx zA!-}H$&lw?r_^1n%+Pz$5!sK0asx0Hq*JpivX|3^bKTl=5#Xjbwyyi_HV%((jZ$*7 z1@oTw_^nDEx?b|%DM;POyH2S|yC!6-MmxIa5^I-Y-~I#X{<|vP@$I%@xm`}{q;ll; zyY+E3es_NEu$;vhij5tW4=h&nN?6Raw@_OA({I>0K8ULT{7d|oZ3u=pO5aJ#z7DE0 zNqh2b_mmdjb{_6oBf@CSet2sAz#{h&x51Q3Fq~|KZQttfIB+|~6G>MS60`y7!R&-s zWt7>NeAUG(#XL2B!bfaWq}FDeWqmACJq@Ssaij}9|28loqKKG3;<~5^F;G;p|Redd%e0ay@!b{;*YE2qxxIGz-Z$0 zOhBDZFpL1ASLiI2EPt8Oo4QSOzQO3u1A4)+T_7L_N&|8ei!9HRzZ!fXXGsFj-T?Ka zOP}HzVhJjX#En|4CB13ga9Aul+lD;zp$I1^Z+&uhLdl9L`}5}+94l5(al&~h0~t~L zif&8sdwCJ6ZD)4uuKA*{T3qLmnN@h(261l_`0e^|v|uzb6vTQsI@+Zpn&$>+5l;;C z(Oy4kPB2@hRe!Ht31x=db(@C3IkAibnZ9IB8D&-sx? zhz)kLEtE()EpX9quO9y2f$wx4f=`~ZFby~FMJGvmEj*1Y(?)XG25 zz<>QJSF(uMU!?I31nRCDl+C6!ms+n3LO1gmQ#^+Zok*Duk zx%91)4MH)DIC^F7&5+?p`Q)nn`_ms8!hHY`acFOOT)>_hidqn`L<4W@=k9qZeo**` zVq!W-0gFK`nOYihdqGFiC047{({cacBU&c1D{BYZ-)^U#MwnWkc!vC(#FYO~=>N+F zMp&3SyUj+3a9}9;*Bm|iIH3JVc5uhtCNzlHREUH4BzJ;fUU@%?WpGoaa;P<(HNDob zsGvQZSol7TiyJhPeYAS#?w1XJ)+vKlMszle5E!T4|CpyGA`_ay&9rv81NCn+cB5 zzqACD@2VJ-<3D->IDf2(*1Pt-6_y92ZVMuRKtoqhGC1;KVSO9}dk?w!yfOU6iMwrq zr#7AW@^&5J6#>c@je{r+NTO%}^5EC@9oDIE?)fR*wsGVyiE>-^OK#yKjw0%CGM>)o zAu1ZTg})4~y1hJb?wJQ#wCY-B>h~vt4-e2X^(d@RIRK%YKevrzgflk4VK1BnO7o4> z+$R!AQgd_Te*e8X{^wEKJ-{%{-+m?S<62+fmIyyv1zp22;97%w2? zaB#YeQn(l2pp0621-Gmrkg)(ePRv-<4D9CwQ2tlaTF6_t+dEkITO!z>BQxR4y}+|i zOmb}sH;{0j-6LQuBSBl9g1y}wMN)C;nZ^mHOK0X@TvJYC!a;S3H9KZ~(8tTkSjNtM z(Uw%=Uv@99&`Izzfw0IotacdFMpQ3%U0l~>Hy9Gxr1pCYOLX?<4(dm=he?kBs1FWV zYd%SyV#FLMEL3FB?lP+ta~>quJIBMruY2zc?yDQ51Cx3&y#3aUk%yKMbWq$o%p-i# zgWPkUYdqgLFfh!iBy2b`6oQU*>!m8`FlihSF{@}|xupebWjQFT6k9GtEhBC}83=YB z0(#wWXHYo#?TDY~e{^4Ca-}7QG%8_Ar!ACIzuRj#H(XKe=aJ%V8Di4y@w4~K<#aEl z83Hv77;l8t_K$z;0>pdSZKku9#NjbN~*I+T9%t>6bcYXrgwMdV+UmGl^R!6GbG ziH5ztN_SQFuhZqOGH9ge zJ0y5!ubC2&X9^>@$s)++a?g@&2p=)M4dNYkdWVpwJ=Ks-VrdG<5A1SmqeDCtO&WDfq zi)oytz?RX*h(w#1xA6m6fQ$<7U=nEj%IxR;bdt*ROY>(9Z;XkEfV_QnJbl(>DdpPF z8SztmX=W32ItQNBN+xi3uvz=5CO>l4v#makJ_uZ`Eky{13XsFf0AY)0&eaSyW! z4gGeuU{_mHjO&~9OTx)8>X(i6X&NP9m{j(vFV!Rg=QF+^d=;WhMCXIC!AG9jIg+h- z*nuEw3N40S8M5+@7?7+NQUfX~wieF~vVhUnOS2>#5<*d^ANc_;cZWSMrb{Om&c01z z1F~UV8s|J)$ARP>?lxh%GkI?(z7nGOrJ-pKI1k@%6ubC&2{6m@|q(0b#x zY~OP7^r~G{NT#E0hB2t^g)prDSimde>IBi6>9VDjDM~=EtEpz%zUECyhw8mDR{c)Q z5ar@`HIC?KewdBQs7E5zx4VI!dqzKi_1ch?lp=vW}#`Zxa*ung} z#1=dEKo*=^A^M$X@ZD!xybdGy(!wabiW-c5V^h8REPu6{!`E7?ulkZL6>&(M<<*>K zXarnMY`F8& z;pN23=wrx%9~~WdYt^-_NoOvO0uxh7d}vm`rQB_p{hGfo%-^h|z>NuPaFT-;ocw9f8PM z7X61!%XW&x>AJSI?4i1(crGH}8Q{&L%*(;EUs-;ml9<=<7Oe9YTA$?iYL>imo~|-O zn1!VQo_=lX#J1jR0p>%)G0FjhAo{LnqN^c2ra0x4(oBn-Fn1zrjbZe9wC@-8q)%Kb zXWfHFE$d41)+HhdgU(*FG^G;AHSc0-JoEZ?4N+ z5&G68LUXfFU69ShNdD-!)U-(M#P0}9r8E%$^HFLP^}3BhA;~viy+Oj zvS{zD_%ja3Y*rC&!(d6Qw#*{ko2ik4I|<701qvt z(r%26=ejHg61B|L$fFd~g&(l#n+19II~!T;k80LnNPP;CmVRbYy#?k8HVQx=a#-e}6vT)bi9k1%fs2-*ddLmpD zmdWC3*#bOvrhcac$ai4lk>DnAYDG!J<*wa%yskp#;nr=zn(LZ8nH|y_&K7Sz*k6U` z7NYR%ksTVh$*WHDO1YZM%KwM3H;-m>ZQuT*)9&2e0WDi~8>%(7YG_e9m~Evc#$wkj zM2d=8I=3i_qGS`TIWg1_K}b3n8WCz9BGRg%h9s@DBF(UWmuElE_xrr-eb@T^VX^o_ zlKZ}|>%7kMI6lV-cy&8@Vv>w(+lF1E z=2=r{#$O&SMrp_L>+3)4f0Se(91F=b7m_#aWOjzVV9q`^$ptD z_o0y{Ek!^Bv!r!`LmO11VafS``-CXTFJW;X^OhG6n}c3>BRlnGwN2K8j+%CuysaBB zSemEsCwVY(a|ZN z2Qf0EXr@iLVvNS`44Ig?rg%Z_-;j$%yVn|{%L5luzmgN0^eND~!h4|x!@Q%&&Y%+R zAvT@M=3`s81xyx)746b@-v7sS7H|tW~}KxXGy592d<2aL+*Vea}#UTkl;7*1ev$C zQu(a;_{szED=dCIh#Z|j$F*1QMl=F@P|i`=rqhe|`hO8I{Tt}}*MX3ATPb2?f7FY`OI9y(q;h5srAPJP z#-hHC$=xD(yi+^QsOG7?`dV055v^s3wr^-Y#aPN=9nv=a8={{p1pBe_&1H>umc{;@ zPeAYH_SZVg)OQ;V@El_w3aCPzlaoviBJO<3nk^{lPF8tI?B+P>Gj zziJa0PfL;@Qy0A;};;|qpJGEKpIA&qKa_eO0DVKmk z7dnS6ppz#m**afB?l$sd2OX!-NcKiik}%olDkYn)Js}U<7;z-9;ZbUuYZCfrv=h3- zEaSIlf5>*Vk_$%<3Hk|h2*Dhz`20wf_vxsnb7JH;i#vSE?DywqFVEpboK_OR3=0hyHdu* z;7EM#h6Y>B8jF*ULZ+%tPZdn>QXJQ~%-BAD=VXXYTKbo_j!ZqWT4a2_>VeSQX zHcidZni>u20s91N%NKsLpf*gSZIZ1ag?%$|u3*USc6_k~rgsib1KPrW`bD6lUg2ha zLc*<#kX_tm3`P_PqWyo)YybHUsKkx`N>yq4x7K>+NlMyxpqqY)Idb*53m7B&NqQqK zLex)pi|09_=R=-Zz+(l|^PbR=}i@%zerp?bxvF@@> zz1HM%aPzm1ryZG{f*xjh(8MftWUd_#4hDm-Rof3i=AGoDq0cpZBe_zR+rP(rb`m}x zu?Cg|yXIk?MU#O5%Z~QMNWa+1L(bCLXDnoi3G?);$20}bIQz3a#)TcGN%%Ez(A=>J zJZ|d|P3R5nk-5Q8@yc>ZM}In9sp?9C-Ax7{FIj%yx-%7YuJu`_3=s#NTm? zmBV}vCa#+3qFTKIbmr~8r+z5!A-cna-z6Gwee=%gGsim zwKE7gV&Gc2p8%&5X<-&Hh1LsLhb3sT;(uI~IhKSpdc87TSk)+T%}UWA9vRjp_>2VA zoxb?q)rkz{U@_bpRrG*{bF(bV5g z1?ZGW!xHy`4)m<}CSZ#r9DJO(H`58C;?)seYE|SBxc{SYeXz+9g-XLwA3|~t<=?t7 z2ii>xAn1Q_hDd3_g#9R;q#osb0;X(Lc@8w?#yPI!ulkgR^}tQI{gc%b)7K|Ke4zN6 z$#mBk_Q|QR(Sjr0LjXg-uJPF;pQ~Wq%{ePJsdlipX3M{G81EQtP$=@JH|vRrCmK`R zD9+S3j)*oS7%^Rg?QBZ4ZHser26t8`7i#G0ruO0-KfQOv6R#7oCHQm!I30U1!3Ew2 zq+pj%KX>od1RYcMkf~{R+bw2OY3t)hR(m^wOztFlWN-F6l5_j$3sbspPp$a;9|GEH z`KLe15ux8D)Ias8twcJ3zMoLlBsX-Qo9kxn1?0y@1{1inS5UrsXy42*%|y;umGxZB^p)NO5%a9 z*XdnbQE1WR-M^OJyo&v>t#mZ^W~=JbWAc~UGv@cRtKL)9LcKm!`nMJ$axCCvhWxEW z$sI)!DN>YW+n3o7_dt{l<-UMm-q&JPzkkmn9cV|#i~XbfIBXH8>t#Q+X=7UHFyeyA z1!(szNC6zuN-3a93RjA;s<{x{aUxnUP@nG*y1j}nG`Z^;e@~NWK1lLjj zs*&`*-Iy3-w}jaYQOhiTs*)TYDi{{LK=RVpp3epWYK%K_2~uumYjmyi_(bt7#M;Bj zhqu+c{cWclXu@Qe;)8aKDaC&;4(J@BfU0w=$ znP7vjvJ2t1j+apr1mGm>@LjE}zCFqbPDjG+K9||pLX3{2`#aI>6FKd`wyk9%;NJE%N@{gywhE&`T95dDKfJVu*9<6M=<={zKXaLhRpI_Vy5 z^t_LOTZgJfod+YLt5^O5R5<%2@;^WRb0=<^$xM#aY!7qeez_) z!3t?pr+B8seXX3QAM2F&*uyd_+C>n+)xTQ z5geLkbodj@S+6x1``J@-&=}06!ih+f017iqk!o&6FZer(!0|%{)j(LU*sL%!vP;vb zdlED+M~1xKr~97dTBmYxj?=#BJ5?#G9R3kwQ}OB$i^X;d@^K*dh?e>9i9ovlt2-)y z;Xal4nI`!9(ilkObUiGh+0Ytr<_!~uw}v=-ee%HBl+n92ItVs0a70!_LdR9nr0zb2 z7-?#zDIBBHFJjIV?aXy{co8F`n|)Pmmo;lv^@ALvxwRu*5!=MG^chcbC?aw7k5g_0 zjE|%Z)*E&m8Pr1*1a1QM`b$URJF=p{p`V9(?1ZmqA{NX(eM#>~ZI2Ri2m*X>#|8gM z{ZOwNoWh)E=Z#f{l3lipraqVpT-eV%-@stsH|WH)CW_3{?wVtYSR5prO4FQ1r{a*m(ts4kAR;Se?C;D&#N8GNbAE~-5)II;!Y|W(vU^fwD z(eN6e>4%vJ33jK^FK|-d+O(Cz55eC9*Fy_*v0~5Al-$$G8(^s>hi(O9U(*vV%nNeQG!s{|Ft|b zwa(+3E$CRb4NF8PWi^=vVpLAU-dGvP*tdO;b>;px^rmz zG7e$Ul3okbWPyft4f%$pn@$cQdtlnGxe-Db%lW2cf59hkM2x%zr#}+t@O8@z`=CC7 zB)5P-p_oT*ySH(#obkXfCoTSy~{ZMi#p=<(?pCJfjlDS6(K(bm4I^*)8nc0T#BGOY6L zE6Us-v#brV62%Ik@2H!hq*A>G$bCT4Go2=}tu;bdpxv z`};-Tfk!bIGqUBtMS|MGah3p;E)?Psjza;&W(Gn~;XXTYW<`K^Vo%&ZU?x{}_ZHMl z6XkCO)qotLdugh#Y)`|A0KH$9Q+kb%If+0o z2yB{$q5NyNbzN|i-NadELE2!v0QJDFtSL?FAq@+8SSiOUxJ zDED9f^}dDr9$Dj#NV@_sNG#e(;MqyGk-{v3tI2WehrMy*44bG*!t{#vE@0NwCAO0J1s8kqx`8~$SO1NF1huSB;ci}g= z-m>t!XRlu(cO-f&8OB13BN7h9VfvHhTa$PLl1?cX*HW*X(^O<^CiUm8o3uN{UkULU zHl~K$bt%wSEEcVa%=~PnFHZ!~ReLSq8 z;krz45~;ssVz}c8CPGwNw3`8tv;!p6xv@FbzaiSF28X~t^5iy2+bYT`A+JIFli@tm z)Fcyow)u`%>Oq?E{0vFx4F;W*mUM)Rh)b%2%D>X{Jk@s>WesUGG>}AkX{Fn zuKdJuv=f0lo9&@j4A?c(rKBN$o9fK#-FT914SK(-EZR^uF5w$xzKlj6gHr zCGEtDx_rkMp~?>!L~n2b&7D2+{>MofErY`YML^el ztqw>C`#~S&(&`Gm7x%lsYJwX>YywjH2GL}>&VhKsRwb7q4&mEKi`)FCIaejK2`=9T zP&nBo!=X0rF?Y`s3y_LJ`Uwdg!bI2^1aji7=1(mWt)gdjpZ3Xv^SA5@z(C`nt7(`e z5FI1@%;XhYb@lkw_hM|NpAn5$%llXtB-zLB)4Q-~Pbzs$S~PJY3>eo>zl+AHqd$Rl zbqJK!*xxUQ^>r)=ssxvCSJugrWmQ`8pLgC=VsO7ZhL33jzIappu> z<5U$I^=+wicd*>5dH;MzZOhuVl`X6^54v1@wpavl5f4u&S#39akm&F6jE=)CS7&H? zWQCV!ViHgvbtP=V6!!fU%4kQmxXU23w&I^TJ3CP7y$WPxAeBCGDe?{PGj%9DlQlQO z4dXARY2SGDtXs~g4546!P{Nyj0k4 zJq>KL$!SZ*sz$)|XZq;-g&|gi`H6-(Q0O)3)*hdXe$g;aQ&sC>P5}po@_67}9I6$& zUbKr4VIiBy-gix#qMrJu23l36BR!$d{Bl#xZWhw)<5cGF!NpLScp#JdFW0Y?0 zIw+27?;l)AW_p8SssPpEEWC)=Lqe-oJvHygXDA53O5whaleNhV%m9#~-pUd3Jvi(# znDbA-oT={j1%fQL1pyB6rW21O0!gPTYx3DLF-GHA3|jJDSW_)6ASj@WPg876=b1GB z$iC&+*XiI5n)jK%62%^!O`!sTo_@7wo0&6|Ycv9{ZI22u1B*?A!qXD8URJ_9X7lkv4O=!5J_mL%&OR4c0Gd(mD@$Mn&*S6|JO;?7v8J0~es&aHl};h-bK zdDqlVZAVMSYKlg1F^ZR8bi!79duj7UVmTt{j&?4Ptsy5@Ew5{$9_W48t2{;ix}R5h zsAjZBI1E9f)7Ju@YJDBbJ~bf#AWq+C#)VCHqa|ZMv2PFryX%ejix-{~RZHmcT~GmW z@t%BVKBTRQr@z(pMwBW>g&`onTOI1q_jEW=+mf{oqV<4k$!*i%no7Jr zftM>7>3^p|8vV0=8>o*R$&sUZIu3gVWA+_Dy(aGjoN20UMQD1jtK`>Ib+m_SW5e?r zKWN4gSDp_?5o+(7YSLP3m$9j5=}|baZEF2~t!I&YD1jx^OmSC>r4(azQ>fCsZXUS} z|ERZ6z{cO?VpC2}}N`n;A z4wER-6HH!Tl9&hrr`tfe4F8gE)AC#ETpB95af=PyBqL^%#^~RWED(rHCv);!G;<@B zo``)Z%?qJjpMkNrXm8@r%>hvw75O{dR8;+vMg~M9*vjSqQCmBZJV@U`8>DnIz?E*9 zmmGI3Pjx}<3S|hf+K{XxGkO13PnY;-CPN~8P}ISVm=bV)_(x!4lWz@LDAkN9YQ)YY z>(f{CLp&Ci7;f1AmEQn0($-4F)wh&(*;w{udDORCFx>z0N&YXRE0jpJVtHzv(@UCh zbyz2vFGBwdKJq`ho+};wVR=^dS`S(O7>k_smH5(a;$ia>;nfNq#zv^X8mKT zOs^HSNi+ZgljPSWEh?;frOi#X3_=kz69jPmv7`InMeKa-9)cEMPnfT0dmw#xzo4Ik z+5@qQ?$pf4KT8K||7~*nEzfGS$Df65jA{Q2)j`_&1kXW14ETP@R1?c?RD==Dqd}Kcz7(v!idv17Ko-JEc81EE+ z7J>&Y{xf@&1@=;1Ig9s0rR2zawCQiSCK?mKBbli>bi;F1PVDHp=IAJ*kOBsw`+!GI zqDQxzgQh-F^5d1bPGg5X%**8U)Sod4qJG$yc-P?aMJJo!-I=={ncYJ2#a?EJPc`A- zI3i6=4^0G)=wXSmb%gZ?pF@flJusAN zx~;sm)PBO`v7pi8u9+Ilud45dOY~3E-+@@7O<-~?P5={Ayz?!_(O}VDgl6>a6umJk zFQ1pS0<|98wZ>B{FEnR5L76Rj zrW040^*%VoEBna7xk!L-ndb+ihgks)0q)JnGx`*~v>)8dW9o~{Y$d{=b5|%IK9I-( zz8?$wT-&k6`+*=N(loig%FFO2im3(?3VO`S+j17Q>kTN)@xamkJyf--u6|#h9I~L+ z<9zeo{*|0T1NDBc38ldsIA=K16~e3Kb|FuT%~$GG-cy8$AkP5ORj0P6X&H0cCwCz! zgPfFrl{llAlUhfN`l`w4%2Ur`?^1mK$8{}%?yqMsD&PTUF_N;~!!hgZLG%XC$K>g~a)L)LIURV0&%=ZUy|G|rs){=Bp153(sAH~6$KVB?1ViN9QzAcJvfefs&FTT zdp>Y6=jje;YS-ulIk7(jxbbotsOnq=3qc(L!SR}_yv4AdAN_>sRhQE<`34Xb?NuIa zNb&VP+^S}m%gD3`IPMpX?)j@yV~JuU*d**-Lc0UPbLD)Y$0c4w;uq{nq*w*4ts{nY zN}&Tdd5uIUU@VfrSae~c{vpGcPFP@wmTJsZX;qf?wu-{!<<_$1=7(11%Z{?ncQMC> zJQ$=X`s~Y`e=-(J)AXaqv4+~=>jGk+#H%gZiCpBg05(^3RVUFm>u(4aG)+-7p`vKA zWJ12P5U<>_=}5%ymnb|G`GWKz#Ex=Uj!8hm2dm$(Xu@%k;AHDrWK*`} zz~%UrY5!3^3S@{PX=|BXUb>{UB}kge#4&%_rqPxCbyhYP)4XkFfkWkO)gq3G0=PpLiPD$&j3xpyOG+**smd|8vWhF#awu z$(<9@c?huvDSPXoxwDI-w>5%-4)z?l$km?$=3U0ilTX!i!*A%rp^S}4qJo;aEhP`4 z^!i(f2|+<`KKlj-Md6IQy|e;o7o>G?+x>3rz6pi=D&y6Q~EqI`ZKo!tkA(5&M?xH(4M1#1M1n>*-m;eL}oNrD$ z`_@8f2`%TkrpCs_rcNQ3Qhs~PeES3wUeET)ncw2SD!KY@#Rzfsn3ah#%vA@qG;vx>4-5>yr+?#q?Gvw zxrYj%DiwM8|2P9TTFP4uQ^7eE)>(CJs`u5~boKPNFU#fuh~MGy8{ixKXMF_pj{m6y zzazKz80c#MFYs;CbndOS{3p&QB=e=6Wl0=Ky_PiufvWu6EZL*#u{@H-)MKviV^l5u zpNP2s2bfx7>E?uB?QVMGDFB;w``qG8v@iYGp2W-(EBPQ*@po4C zHXH|??%1YK28ptU}iaH>fP&K3?zUQiU z`EL%yV+CP34&sFlSrSwXuw}JZe`^{x1=Ai<66C$?syQqX(Nq+~_Xp z<@Ti5x{{Gg9IlwVVEu6EN1;fPtRZS^KxZ6$i%A>b&Dk&N5x7CkgmCz_ zWe-rtcBKI46e8N~N8@Lm)AOTxkqOI$1=y120>*yOz4u<|FyPr*#B$%)1Vnoa0w_|n z3c4}a(qoCJU7VZ&4TSHlTpt5PFiebMS3|-Rl^YAU54svhPS-q6YVZc4qF`0gzJj&) zq59iw`-sNAHACGF^j*%)tBOe=m}VGJfSRmH)X?>_YGX3aD3JRBz#D+ocHLcjbtYyB zEz8GNvYu01lW1l&j?e=3k(m<+UhU7!hMYcp9f}a&8Iy$i8Xz^U82z{ zhNXHeQkwb~=y5JL#dEB@>teh#QgX!GKve`ZrA0gSGrOBjeLzH=`D9`t{0XKF6CiLm zhP4C-F5*hGZR(8ut&j*u2Ef-tPrhvCPEQ@i^nm3V#BM>7zgp&=%Q~-r{O7=czyFg; zuAZtMi>&G>C6hq=$d&HRBWQLwPyI*?^lQWutg2^`&c5RLuA&_e3fg~Q&15MH@k|s5 zw8UqL^Mcf21le82!`q`)YVO$#U0C%8e0LsyjXWh@hRW}EYm`1goqPWTofSo?zkOoy zoAtodX@Y`T!eh$nN^E=Ck^_CRttpHR2fT77ilgh2MLtvDjsU`}z)@!9j<+ea!?GK>N0;$12h^G-Yxv^eQk@Fsa)&}+#i zS?)Lf3C9+m*xi?G)OLa7G;50nY%uXwXs%2Q8#0<+L%Nj)2whw@>D)nS-fm!NFOWe<^`_avRT* zwASAOp8ldOLm@SDXv0f2qkIe-JVLmVq1j}*#p_p$@a4L>B;cANvz(4&^w;jXk7E@I zfGoZCeJ#j*ay0#^-GmNWbD0oFMNM-=EF5?ZZ#>IrRxc6Sc9?lFca-_4#Ba*l%gr#8{V4*)=_8M;Dw0IQOU5b=+<_oWJAm%rDJ0 z-e{lQ)>a@#SLaKn>VZfc44FS1W~&qq=jyAWK$W%=vqGC|wFv=Zw*+=iqN#(u$Ax3f z9pRz7xbaLi`>kmIhwj-nan62@lLD{MpTp@Eo#Z@uih^*F$l+|zz%q)bZ34p99vp?O z0AuA!b)-`ia;!=FkI>JeLA{O%?uTDYsxQs3&$2_Kw7xyyJ87-&aUwq4{!(CyYD@FV zMvYgWf%y`Xt@P_TVy%z3C^vXAou-o4rq7%dFakGknjeZ!SD+lIWloT}<;5NFtD^%0 z1R;nz2kSX3t3%3SX#mHX!k_7I2A5F#C5Frc$xpe{u!Jwd66ACWl>B(KL^Dsqiw3oQ z(hyISYA99h>#b~zwcnalBDk!{$;+KbqH+@q*oQw4!Fi|}WB`H(%i(0fEtR|)_RKIaq|-6LAi2B3TC^lE#q9x;Y9K@4l`?xX(2 z^R_|rZ)@v7rsFdSsh8>U6T*e*qsoZ2jHsikL~J8#j{m@!jf#T@Esv#~AA3H)aT)T~ z>(7exv(7A5GhQM0Zuo?@U40_oA%Iq9DZWv#B;OKJ>?{034ThSGMZ|M3NLVCSE|+tf zpMX^^KX&!FeCdH2%FdtmTXMe9)E?h(_D6hj%e2%~@XNFemtCk}mE`Ptkbee0wBYvC zbIPc*Gz+=L2Oqu4?oIFe=XZV>(4!?RShZhMnqDSzsvYwgIj=3pc2b4A?1pkoPS0}1 zcCE}eWF3hYI~TccSFQA)(RoCrxHX5-)p7Lj|7#NKUXJ&i$~a(j%&?*DOd9XhbbDLXZ3nd5n6E zOVIKo4N~#g5P~h5$yRid?65vPS38{^0dn{tT%BeAC%Af0%90CC^(f_)WL_q}guB%@ ztzDuit?vaR z`+u<|j~4x}=6YwOUSZV$rNw=BBVd5`TAkAY=$W3de_~py7;aR=Z`xLG`_Mz6xUT-U zkM@5Pa{jF={Qvp==COZ8hyDBf0{ZGa(3J_Nibo7|vlY0xAk1>t&+5CA<8E_yH(pJ&)bi3+)dSx@As&!9-fg#L>)g8f;B(dKZ{*pc?OwZ%kIzmS>gkO< zR`xpWG-D;{!$(%@txXiUJTI<&4(gPe;`uj4duY}_NIf}CVi(gS*R^uM%DLm@@eCE1 z_j{&C%20%8xZFa);?RdH#6I9Id|2M-KRx0vc%(S@x0g@HjBge6fvLKH%pOhnVs|<|2kDW*!@2d$xTyO*w4BY6v|Ha?4S^D(%O6q6 zS%F^JATf4hE0i;!Y1X!tWbq8e0b&iZH9jDu^+A63&X^E1I@xPy$Dd=Y+2%h~Nvvsq zTH$vI8~cWw!F76lt|7^8ZL|^Lw(Gqt;`xvo#}7=YCxRooZn~x5QqW%09TXlz&v^3P zkkR>=Fh#35%AvR;10)`3y=}X#x`bqHdErB3%7Ekx07+?bCS01flsGP1?)VfHgNrgB z7z_@ocJ3u+zu@YLIv%v6rfU)>2bWZ)K7@FPJ$XRiE>TLB3HWL2iE}dlSDm@I?X+qTMqu74%w9&Xc_oQiT>QzHMVh!HrFv#|}g3R-E zsqr>*6zfI0)t$}jvCPS6P{dlN36KEBA)#5`)Y6>v!Z?J3SAI~;|J{qN#lu+!XC-9o zxVsE4$)V+@O+>#$n!H)lh>FpgR5VW=@>K&TLgsW;?ZFAnTySf)n0scnXCTz*u7&8ZC;An+GQ-( z;)UH0oe4flanB629TZ+SJE$Ax3dm7952M~I&1Lh%I&%{mZ?WP<5P)I}v4MT)7)(jA zof~P|BS1n=opJU}3(DR}n)hOq3x5&dub=rnQ0xTo9*K?;-W{r;S-rbf<1r@R9FAVx zBDgVr34}zq+XiH;3|PlM2G617=E$O7k`5a?&lw_xjf<|#z5O|Y>^)bSR^V=*0afJ& zn1r04G0(tt4e(Lgil$HWfqoM(Lame>5DzV!#oHX3&__QVpEI-;zRmCLKR(Y-g&c%4 zSHG8dCc42bACSHX8YM>8oh|Qv?#ug}`tpwc9c^vYJ{oA)NQ-`4XVANHBXmOZn0Tne zEZt2kGolTKk&{cCj*qBhqNclB2rM85;@tjh})Qf z%vJFYg4*h+S$jj9tzvuzmd$90G!Xx&$$&m&klz}!)TIs8=hFYGhuZ<=-{IBToQk^g z_n;Y=z{ApNKd>h?WYh#we1)7 zra77U33|Yxt+Xz+EYD{eTf^)IaGUi#CLx>70~hjGsOUX8j%=JAU`}-R&m+BCdkFCQ zu9DL0Bxuo&i9an?e>1QMh^&n)1m81LLDyU;^VZN2UQa5SD&|aA%gLQNlryt^ zQUh4TKEp9ufTrmw!_XPj9WJ~cXKW59E?f6}ga5^PWtQr-;JT6DPO8{6mgKq1)wr*c z#Efm#?ynmFm>R!f#OF4%WI-S3FdMG$O$0KpBqI;13fWk}fWD}I4K<0&-}@{nM22}Y zAR+xsSqG4bfuho+@tJ#ZdZAfDO`)dOmf?f+Aie&|JoH;Snl%3g)t+`*er?wWtTCCaNz(P_1YnC5s=qqL6$f7V`-P86NuR zrBOphey#N2@buy|mvl>;lFz;*Z1r`TT5iV#v|q~)+5&rM^&3m94@4p|l^6E>ciXk{ zWyZ^_UJ!4e_*si;Kk$#n`COL_7>k|D-3OK?AQL#(^yAPZC z^jXx5`Ogm$QIIA-X1iSvI0G)BS;(w?nxMUx^47?fApTj=*3m}V>TTwKJ)VwpjYY{e-va z4RNU0R~qbmL*yObjBr60MNdP0$o3}5v3EUvK7ko~`?x<~9190}Fky)a+2*F+B-mH< znnoZ@I>Rb>_W5VmtCBX|L~t|4R`v`Um~IZ0*Xz%4x_xp8>*5_GzcX=BzlFO1ZqO5OBM+w{FvqSwJF6rhSyp@8Nlb-XchB!P_ zVBtwuQ|V|hxX?I^p-zxA==up`^goW<`1?fY*+q#ck+z@%?gVoU=7C`|5mWO#t z*~K6~)snqWC}bZK3Q>S%3UndR(ffqhY}#PoGJfKy5-LM)1DI|et%An~Kg7htmg|n_ zA-p&m&cl0VLsoTi;WCED|Aw^GMJ0?PX0T&~F^%6!1D#o9e&`q1CbnHW4H8@3 zi?j><1`>}h(AquLHg16##m-OY91aFfFY` z9)1DiuOA>qhP^mPU#&ganNepG->Ik7?E_8dfij;tz zW122@l@jk0s{lva`ExQB{@dj#lXCjPH2i?;mMly2Or=%m1h~X98oqSl<4hgTkVMb! zaf|_Ud5`+LgF0vhhGr*U{BtAQMnbvuu}@a-tsKS>7@-KjIyZwW`8xb`f}OcEZAzG~ zNCtotqpTY+*X~i%b||;Ks5I>} zWp%%j$4Ore4tUO2Q=m6+Oec6IZFtGm?$yQv ziE|_7mxnGc5B5`lKb_A-l-n2yKfxC#WV}Y}(I&Vq0-a z10|Kx&v2{9hxuO9x8-AQXb=siW0KjJRwO?|jNm}k9xEk(Dl&;l^vYewvZ{uR_DJ^A zh{$(Z;`2@U?4-#0d6Qi4`Y=3+BhZ0RJ@jU*Mtsu)ohN^kgEFmrP1!c3E)Q@DyxO7a zk;LbrM{cBqx318IP_Jt-9d}9|jGFm7-$d(!`Bw4y)Y+il>|?GLV_Q}FxLRN}nW&=t zo-=8lHfl@Jr#LmbKM3@cN*%RDU-OlZ5D>A?zKo95VzP7RoE-U4_FL>b#5b;yfh%n_ zv|3K8XUTTet!F?jfd)3FYZEp>0XH-5Gn6*EV=+9b##${nBj1nz`$p*7QKo3y?Sq}K z%mPa3T@_zei6LeQm3UMNfK=3Yk0P7U^R`r>b zMf^%e!6AP%k*t-NXKz8XheQP+pRGyXUmDH2pKa-Gt%sj=mu)It98*)rRnCf~Jqj#ev%VZiggOgsCcyO4C zCxMzv5ss|-em3O87LL)h#j|cU0Z@%N^UqyPjfE$YpHNn{^?AX@JNybp_2A4YAmdon zF?8kZrXjz9P|aH?Ab>>PKK0UHJeCH%7mRR@M702hzzANx>9y2JmD5Dwx0fLnZnaUt z2fW_QHL_L#6SnV7t25%0-Cmdej{+LP9`||Qr3P7gRu?Oe_~5 zu|Q&(bNfBdobx=t*YEt%%c)m`B=_gKuj_ri7cY(b*D6lVoc#z)pd~+le^K)#h7A9_ z$~Ta%mW)LPdMmARf0p(;9U{TRY4h_1!)J|bw1k=P zm68|@862=$m0&LWzdqB2oG;&$tM=36Z0@DwGo2o#=Uw#3f6~wyAXwR}SZ((pGE`n3 zqjXY~y_5zo;$m$cbPi!8eqVKH6R^lhhr)LPjARXXwSdP{a4RlspA*w>5OirK9`IAA z%Qo4R{Mya^hSm4k7*&XYZLnoq7$hVEdQ@Y?fiGnjyV+3%7;+m)s!R2A@KyKo5KwCRIB-lhY!?>+*rz_{N7 zvYjxk=aRvU);&#Fu%n3;Lz>?&=bBP^1KQD4<((dHSpg4%NUlTGwh#Ae^ljtFE> z1j67~A@@%HT!KuEBph;AK@JS5&4cRV3Im^1ola$-u49|7WZm^>yuKnW#ZjN>^rY{j z8R4tPkojxf%;;kY{Lw?Dq;}~jcxqii%v@yS&iLF`oh2ODC&mLtQrQu;xmV|zp<*-z zFu@enI~QDS-fJ|h%`sNtvdwWap7gty{x`q}W-bs9ubw^hw`Tqvi!d)z;P{Cb&;^c7 z1&Ys-v7X(1n=^*T>=aROmPqh}Q@+F4JwIg@BlN5Qvyu+kdq%;pH4z4yq`l=kCjQ6B zv_3Am*55ucQ|nNNUH)9CTwq7Z;TZuQoomMXoXf;K3U^aTIGP})qaD5#SLGI-Fhze) za2M5XG|1=_xb+O|47{0u2dgz#=O7)s`lhIy01)GB$XmO*1*X_i^`)A7rrIgbdJx5+ zFS&EEltAfVS;#P1XnJ*XXhotr*@o=aNn&sjz(*4d%X?t%!6&&$giv)3YcbK(LCE;% zwoE!Yq9R!$0)X(u z68tObOeO7%v-^E+T&F$sO=M~n#CMMqZq!XkLt~K-}D^bkh0o2qaI! zit&e)@8AR9X|(;SadfiCME9A2t0IftM>;ODx`^2?a;)IYD7LA=br{+694g6ER*3e4gH+x+G8C90C=0e-B*?7$A%@f(Th9z_>R*39vZ#P00KGRfP9sLI_2! zX^#4VDb1CJO+thMg5_bDF*a&x$4_j~^tK8k<%kCcaOw32fzfSEQtDnmHdfV3S^30; zTIW~mOWvb1GVY>W#&^XrC>DaQBSnVsYs5}IH{^WPao6eLewvQ(4rR2N+go9yT4}}0 zWxDkUDaB*MSEyE}iztc+weBnvmG6StjSWoG8Ppkg$<~|E#5vKD?;CUE(bB`CeWSx! zT?8IW)+@GtcbPa^t`gYd2PxzeF-P;npjd#P)7@9CnQgIBw_$(T1uF_mm=6~g-c!E* zI}GOt*Z++lAlvNamxs4Bs#dexT6V#lalQKUO`*EDRV@B<3RdISyl&X8@n-9cA1|ur zPSp2EUiaTdeZBrK5h>PyICEoWhCXs2UXV?<3W2v3G$JZ{F`>in)vdrFaI^&cpHU#Y z#M1V_o<7da!$pQINubbcXw&{`nut3Ri*HHgvZ923vw(jxA)gPco}q=OYu4mx(21X^ zq|;*DG~EO@k32B7clo~A^dnZvViMNkO44rgh^(ny{0r@}6f~~yO#yD{6pBB}M)Dk#{o%|y zK!FfbT$%H#!ELR?Y{yS9qVF2Ww?#X_RG3F-YEBe|I(HcH@x!)XJpJjas}l(pUw1|epv(E3FgMQTc-2mSg0Fk4?2=A{V@=@ z8il9##JAkEXJU-J9d9Nm(_iK$G)PhJ&Z>6EFkvxz$0H6$j%l=TMf*`7>U9rd=evt` zH(P(GKJ#YCAJ6^ra(A&ctrmN;{Rh4OuYiUB`fmi8&6Vj-4E$H&d47*D zaJ+Sm4EenX{a)@%AKP~=?7+zd8rEm#d||#lB&ib7M!9nDa8~QLp##x5cTWM>Nedrq z-=DSqCV28xVBCh z-tpYj_KY*{53`}wtD91G9fP=4>s)&Z#Ykzym;E&t>U>LGw;SlYNyBZ#s=T}JH)_)L zT$?OBQsKHkGEyqHTXL1dcXyzyha`(ISS&TJ-|uqv9X%-Z$tB^anMcyi!>3Xz1{mt% zZ}Nz@O1fcze}GsG5qLou>e9yQR~3Xt-1 zcb5|8cNc{pMEnk*IJ>~YLwLYHb%kD;Qr;5Q9SrXRNsm$ox&Xl+QuJy8}tx!BCF$I6*z+h>BJmEwjyfg+Rc`=`<&187KJ% z!SmFM(Gk(nDHeSr+PqF~?MN4iR%$sox_7@9YzO#|X?2N?p8bgEh=eH@iJj_n2U08F6zC~I#wp6tj9EQ(kL+J0fJJT~F5 zmUlpw5(Iu)aVm)*MDKDHmCo`%-1qDFLbr+qC9&mk!rpWrZ;XYuh_~aR=fmaRC1i%(>`uWXWOC7br7nawG*B$pA!)V;7(PtCV{h$ zzDuqwbUgeXE|S^G*e(R$zQ_2MU8qF$yE@6FH)mB;s%9?p-|T+I;ddB(w|5q#hX0j_ zeK7%@OGxh)549ltB=I$*OAh5}7Kx@Qb8!jO7HJjQ?owo>lS<-~DCY9|=BGsN1w!pr zp?*V_5Op^hNtc!kw|A~q2JEEXB=Kof~ zM8U`%_jJ!H&dGHg2ed-&IFhU+_MT%1a}oC&59*clNy~V5q5gzGGQ)^x_mIpiwn0f#eXrg##OzH!)DQt@3GGR!q|& zx^&cu&mx13HWJU39sZyBESFUJ_3oRH&Av{!uR%glx5xiK3~sCst@W#Mu7qv{h7g4% zm&;|>vs6>q;c~>F&}Ld^PclKmPdDpkNegT85LQY}xIg;|+-1?;DKVh-)c2%Mn&gge zOQQ5=QyeF)b?g{jdk-nY;grp#mKq{~PzYXcS%A=%PMH+pbqPNb1@yMx%sl&Kf3 z0p%iYw97p{VvYrUE2lvEAb?&C6W~r7cev3y1#~&{L~(Sf`3iAx>-w? zT@We@7GqsLv)}ogP}dI*jC(*W@CBQj!@t~H?7N0GlWb((+qZuo2Cj-+vnF~PPuffz z#F3Ds+Zv5RqJPQX_ur{rPv!9fcrQJQPWblkMydZW;>5JfB>+c`TNVc&cl)+R5~oso z>B4T<#8M_~JTddsuKxDD-Jhl3So+sa)fY|eKl+rc%Jn)a1thjq_$>Ad?53}cC;zbN zl)b&o@MHPT6z#>pbYbt-+!m?Vz_J+8!FmJTg>TxVln$9ppJQBTW*+nl$zw@80`B~I zI_r@Bn0C4>7D^OQy28U6!Hb1rIsODElJ)R{Y>WV?(J|NSbBEw&sCi9^xH}v#=lHJ)CET*aQX`l*Jy`x3spc8qK3$O8aF{76UH8+)&rBaQE)) zNl%RpiMIuqw-lW=KdUQ#nENTqpURJ#dAv+o2IF6!=eVZ``vJxy1&~HS-ST-q5#Sc1 z*lMj?!JA%1N6wH;*>&lU`Z#J;C0KNdz=_L|eGgg+BL$8n?qDU3lbJjqDw&X1s)-+a znu~}#I+(*xegsHLZVp4=J1Pl3`(Px*Za!kgB)~P#`-s>kTGX5jvY`tAEq2Jw7jNNn zDVEOfp3LDjf}PY^CH+5Dg3#Ex)G&BEPH4pwAgB%5U@h#NJ)|GZR|$453&~BjgA;KP zk4eW~1eG|O!o*NjE-(mb@%-(iMwHoc9gy*}>b6D#Ik4tguE+9r>vsn+iK8rk00M@E zW0tmzovvstyWFhHc{m5=7RR`l*bxYQl+au~A=*pIl;Ez7NyN@({n8#@{!k#G3w3w< z$So*Iu`u=n?B~Sdsies11$ANg)21%Uo55!1cE13^S98znyN(5kZD+o)qD_e!)?z0p zB%VJKngyTNJ#`A?r0|5KuCoUW^eFn?mA`|`9ea2i@Nw}_ZkxEF?0b5jcE}eLp9(w` zxH}g%*#Gnn{($J#|2V zcv+xat3!mQYrF}CdZ)^S?g?nuKJu+bOW#lG(SG2%*dG6W>O`~oaM4e!zt){oIHne1 zSvfR+U~TaeQLqf0GY>*Zce;ZaV1>U(h|$XplU;sb1*<3SAD5zop5NN@1@wPeUw~*< zYy$lqi2Udg%LnAmPe*tgSzzEy@S~y?Ioq}8lf6H9tF5h)*3c1JZ&x1h)k@5$#I^3U z%ACyoN)Sg&PQ$=r-M4ZDnqpPwtJWe_m1C@kjy^KzhBC3Gxh-w0Y6VtycdVQRo*0Gn z!IR`IN@v6_l0JY6vW%hj@xK^q^_K0$w`WEH$9RC3cHus%#Nwm-H5JmBODzdQUWT7q z#9D7t?WpA$#_0t@UC=$CX;ID395-?b@^71dhp+uao1)wlpUI&q_XQzP!C*1`yNO)j zNQCjhr;&CZ%taOxz3Sj|xj7lF>JMkM94I238q#oZ28Pf{ZjrFL&Nhch2MUS}Xdw2X z^QsS!7{ej2*YZyD^PgEa>zk+l&UOwKp0s9JHjkFm0p+6|@8Q!n>i=Z4~&a}4ixU4(P}iwmt8 z+?2%|=>|dKW4LTXhEW4!R4S-jo_p#m?K}7v%A$$ISN}+xke|prqt&_X2j_G8hd*4y z1l6T%UV`jf23cZq@v{rHTs!|T`9Q9w74M{rdcq1!_C4kiS#j#w!=bF)VoIuQbz%i) zXK;pz>=e=3x#XT+_!GMw#)yTT{i~#6?^l~@! zjUD?dH+9~+V+ofd8#=4R;d@tCAumut8UxGoDxz~*iIN|m5vLvdub%5Ph-;luznMaGaiQ0d<}$_(vtp;Er<4&q;NDOV&DP~ zFS!SC{8&KeSSBOgcuE%`8SetLAo+uEu)p>bhK>c94jtKD`X=09=nKb5>or-y?h$#_ z(utV*@vKTm>K}2p%z7mVoukZY63_FkPDfB9)pPN5V1h`(5(UU6d9(FN(5PR()frDZ zy(lUK7}*Dt(zv+8x%Dv13{ui|u*ik?Aimss!yehRVxC;)$v~1a+M&z87X*HkefLe% z_1+ioxe}2u;Kgvq%4t* zyqVaVb5&kJFKfq;MSZ9^!SJiTmh`owPGZOrrYY9KzNthW6%)Nv0|8s1R%(8A%LMJuT{Vd|4pF8O zj^y~&H!;!di(j9{5JP6fOP6ZjoJ<>I9+1)-z5y%>giKg}gX^Dyh|fzw3bpW>1jKT?o_uhm;NZUc+{w$TwL+HB2d%if`&^6Ht6beamAMb zxo^Xo2gx0~Ul_|d!8g4s%oRG38jHJ15nZnRH8TsVwui@`RTNvkW$`t!?)dgRi|cjN zpZ}2q9)&gJq?owq{f?MliuzQyQ!%(wQd$KPPW70}pKBW<{q>Sp zjxdDr?}L%ndU>A+JlzX6<53Ozv>%g9$AEN!wOHMdSugtdrx$KdkZ8H7(&MHk4ONkI^u<#)74vH=80yh^EM?#6A@aF`U!=Kql^xwr4P=EIO1 z-nODeZpo9bqQY@b7D@=zrxz2_>BrRz6$CQQHC$Krq1}aLuAmp*I!p&vX7U<7+|CG( zd*CrIK14{)lrF|iW+m+7ZM@yWVF^8}M;kO9Y22_G#O{&R$Ohu;BARBHtIv{OL?I0I zg$Fw-vt%v5-@2^>_8F;nbAR&Dh=%V&r(@gao-CiwAR!Q6y`0U9e=BsVn*-ka78t1j zw2X*{vL9&mu%>;RJqH?RRHs6iGD9Fsyjk^>6?UyZCnlMm06@C;5$E4rSe3jhvCpuT z@gsd`qaTxiGc3KA{Sxj}M*{!iV8SfY`BIT=n#ixb=D`7OBLB!qoaCYlX$ohi^71Qq zy0|IuLSVM>Ay^$~z3()lEy#c9gjBRr zh&Ei|S*U?crb7SA1*Kc{gqAaJbkUj(6lXy^);2Cgu|6zrivU+3l%o2W>!un0ei22^ zD)wfBXt7H^*PK#pX}7vi-)tu?5LDCy%Q7PVo_Wfd*1u}s_ir@#E+r$jEcQ~6&dR$_ zDsafG_aHcDmLX3ul&V3WJzaro|IPN0B9oMxp$QC2j$@vxZzvU-0cDY|+l8|+9& zqtWkT!k?TA2552L<1yGY<QSyNJ3k#tBF(g7i8(81^rp)5WZ%wHOsjJ zb#b^RzFfi0c|KM6*&A`skYS5%wlD+fu=3`;dPJl+9r$Tn&hl~G6wxnJ$u6pr3%{oN zD}5wPaIsN3QnZLW^VaCz(L6s>GtqtvDA-iBbTlh&+-b;cSbbBt)8DuDGo7ED{e{R9 z(-DACKeXAK3#@+M9-`#mPF{eTOcsP`)fC4+0o_GjM>3b@3e2$mayP9Fk5ye1c|!AnG1f^pdXm_sUKcUh`jDqdCt^; z?6~2k3jrtvqQk3SM8FVHE5^5tErgQhWFDxTUo2`j{sFVPwdX0FC}!!~pQ&FdSk;UL z`~}YPH^XnS4+r_k)VaW%yP61`TS^A)xaH7!=(tT*%Ww`4fVgK5A69A^+M8!QgSlLI zdXK?MtMwpm`tP6+crE!T18^`NsNX#kuvT&;rLJq}SwF3Qfs|Aw_nV7n>X7xb+(h`i zHNy#I;USgzmmy7zv!dWvyTWBD(o}}xt_m{@P`2MA{@(JnCt@3y- zb{qCH#d!M9=+1l_u^FPpCA=hInyYlWa|o$O4iHmnKEBz&O39nFNJoGTO9UL4Q)1r5 zMO0btOYSGte64_0zMsuwvN&}@a36fG9-xhJl#)L4LvqN@x$`#QoqjRNNqv2qtGVA< zhhstQ=9>Y_^YUG#7kkc}GceJOcvu)`3wY(ZldlY-eC{Oo34Fmv>;{$!Vx5_B11>hw zl5A!R?8zRZG|awEn!Y$d3RHGbEUuC+1C$glEePFE@3kw!koODIo5H#aljzWW5{q&m z_5(06-mq^0=#nQ6dB03lP5lC>q&VZA48dOtnJ?gK9Uy^zm9Rc)@AHA|r5l~orfP|x zR4ar4{n+18s1VAC=XfDg7lTo^n2GmKYF0E%I3bG{hZ}XLFPXfw7XW$YgZxwhXu`tQ zf?$6pm?=m18%0i!9-xz?RrP%a*oL^uc<(*B4Sj&rX$q94XkEt!mG_y^tLB^n0uMx! zy&RA7-zU0#q18C);JXui+ELB$5k2cK*_T>H#iu>F2+bjzr zX&8*l`W9D5`^Q`+Jq8_xNbsYg`czfiP}s&^)re2r?++J0mB)SP@=UQ}&QrUC5FLPa z*y5Smm8>#rf$_>dp1RcR*tJ;oDiUJv1~d z&*vD~J|t-#6^51lf^QeAw!ni!roSw#zNCz((9gxy zSx$~6dZ{W(CP3P4JY{H$)E}2&fmxINkZ_ksa8P6}Ed+R^F`d78ijat}Bw+#ixj>=# zQeq@gb>6ux%lBuqoQpY5B^D8+*6S7PCcqOwLJ3y%139>=`~jdc@SjL2)q)?_qAl(f zN_*Mgsps2ZW;uO4chZkO^fN}M@G`y@P=FDIn1W+1?53H|*u~Ew_H6>#;MMA3- zz~SAzC+zm$Eu)1f%iHISY#~91Qu!r>db^hnpWUaALd9O-&6Rqljv)Oktr;mu>x}a2 zZWY)22}cqV!sW6{3+dStz)Y^rKR*)o^9--HwtOomGK%9&$OWNVc8#*{7i{IM!c-j1 z%zXZJ>0ejVU8x4#@XI1c)0~3*aWQ4rHNte1^01iL4evU;=j6yytie2$fOGuSrY-0( z*TWhZGHyN~{OKfdt-boHyt8`%5&m^t=S{DkOJx=xbNi{hKUFWSgb#%H-3$VJCB@dY z&@}se>%tSw0~xug}2VeR;oXLP0ka zLsGm!Rb+2)w8Y82M=Y!|yR#?bZ%5h8@X-=1z)t#}5PRxp(2~rv`>rQuzZve&6#%YF zeBL{ch6128LaHV#W3zTl4s)q32%>%OGpf52ByY!>Ncyfv_}MW9hOUxtk7aY z3u$ky*FSQ1n%{3pj<(F??`q8zJZl_tWkf@fqe1>MAl%O3*TYa9w>>Njpljx`8u68xPHii1uP<{?(1J z=b92$T(@T(mMuQh{hiv5V#|I6beRh_pm%eHb{SY4(0*?~NACDuzCDWJr|Jd=AP%#Z zKq?}vg+byIW@bu`$>Yv+4ZZ>vGoR)eF2_#KKL6;oH z%t!>zX+ilf44y=?CIQ>cpHQ%?j36j@&{H~LI2my=HI0YXQ%}p4g?RI zi4k$7hrBdgRuL_Dtb=WJ`TJg3?mn0(K|&-+(Tx$Yza#`*iID- zO0X73oK#7a4dQmqEV?#ml)gcr7?YqUTgzC2jhM4AQwqYt*O@Z$};(lL0)@>nv^ zHU{CI-7dYtj9YNW=Mlok+Vt@sh;p>Zt+o z$1pR~A@S7bSgZq$cKjus-I@u)*hG5~RCL6hSC_8Xyb3XU#mLNtxl;x|F7~a1+ z*dW$<{M9D+OueaCI}o-^LfoFL5??RAV802O4`+zE*lRxqZv1_h6SBdu1bG80mceJs zcZ!FsxLXN%?qSJuGY#VW07J3+IHa(!q1hf}RsGogK@@SBYN?8@2o+iU#y2 z2Y%f>fINf*wqW$L2Ze6NSi(y~hR^-~>oFv^E?c>Qi|QHTV!44iGN}KmpOi5`5}UZ+ zz>Q1vO2!OTsBaLe*NQ}Jti zH{Fc*EBswoUP`fY-wCL$Bp)LIzTFmS9o}Aps9}CC-W;ssy3X#R6f%zf(V%x#Kx^ErN8wA=D>NJmbr zOZ9v{7-v2J!-(wA5!z)(<);l|w}h`i=?Y?jFD+SUcY7t!#Q70id(b+<F()W0-%5f{1hZmTbAFJy8|kk(Bue;+GH4%Od-gfK^ydEPT1>;GxP*j;jMitU9UeSMwbb{Su~lNERyw{?#QdT!W)+PI*@6B>=G4jHLHD)ldtqO-&Gm@Q!s-5Ygot zotvvxNhAIvci$92yn3yNpzNr+v2dN0bY+_-(=oZR)C!s-994~z^Su;yqDfcu5yg!R zWDcz+V`W33^s}Qq%adZL6@VsCvd#E9y0dbT&d}kEdQ_ZSkW*DS#^f_q^AC2e0NfE) zBi#3!Gt=+WDsP>GEc3cF;6+JZ2_J>{3B4D&h}aCIE7V5OwRW_OO-;%p|$X)a$_&wN#p&I5jApYGp4HUfpVDI&r(HK38NNJ!%H{dM{V% zkw=O(`CQZGHk@-lFZpkvqmCdKA1a+mrc=9DYd}-%X;70kOwpezvIbc2-)FaVn3cWr z&)?bDq#Uw1Aq3Rsi@e1Xzl?HG_)M;GNUiw$@)B$n-UupaXR&)J&e2dx#- zTO@qf88)S3NQq}b7Uh!GO6E+KBC^zdJDa>`q=kvUFl3*+JiGNLVmS$7dz;R-G!Hu) zM0-;zZ-6pPjvx0P5s>s7JfTZ67Kl6Aa*0%|9cV~Q80M_HXdZm_h&=;*9DG_5qc;`S zvHw2cL_!SsCh*^Rcn59!qP}B&J6(TubC$WCe}>rS%p%dUi@p@R&EsQnK>jel8?Mzo zYql=q9x^{=HD-!)im)8DFoxrh7=)snZ|C0h$MIuu_@~wQWjj#xo>2~x)3+A93AtS$ zD#1Qt=S>YCTX~(1qjPz1X-PwvIcz*^jAg&IL{p@mIx)@SnE`*Pd^zV<*eV|QxcRg! zE_XPNQ7osQC4*sZxYqXPD65g*51^Rhf8-uGK}y2LJr!4#+*1Zwtn%#>)Xq`+0EI2r zy5kdppUgYZrlzgYW)2o1z*>T6Fm<=y@|}y3)feF1;05h>(Y0TV5*BOhO znbbJ-uPOw!)*!-m{F_zNxt(-tVh6@J?~-z%^8m7}flimA>Qp59Qvq0MK$NJUqu_4PRj-8RrJcRljDJ~43P>XMV1KB1^>1Dvd z74o~sw^tdo2~jF^!a#f@Fn>;z3c~=Dn4EI_#RCI_U_Ox8Wd?socV7|>at=RG?jFKb z)rAK-2;N63EiUob6)P@37A6$Di7LtE8Vm~CFu$|uqL=7|2kLHBL@)Dty>E{;&RC3 z(yVy9C7B=g;aVSaSU@l4E0ft{UH>IdoDP+aE^)9em+H>W%eM-#N$CXm;!KD!+f$R4|?2|Y)!L4H_DsLHCpb>_%Y^*();dUPT>G6*e#KBLXJCwV!njYk z_Zt(4Quz9gkqw!}s^O;)$_#L?w0LIF^uGdX#H5x3J|Ot5n68k|8&ZPaFI2 z>;2PADA3Eb$dKR($*4Q>zHuVx1s~!SL^tdI1_X!^ucrzD$)p$(CERB{7~Q_tTHq%e zs9f2CsVi+x&hQuQ^ZUg3(kfR1aS=sN4@I*Xmx$n7v;oBTorgu1`8I=+<3X#z_GA#5 zcY?*}ezCI!5(Wt)#3U0zys$V}2bivCkhR>H)%2?iO@O?vroO6G+wP(nNVtzy_#26X3^b68aa~@6rSK*n! zeVN`qU$(rHH2nnHBq74w3@|Np)4o#Coo?AX2Dp*CfWHa<*NQuZ2X3;L?GU`( zU4#S%I%Z%*Rv1FF|IZacwM>E##0YkfoF1ZX0 zx_-&l#ygQyRI-rJ1RemNFdkX;n?M&h7{O_&3hn+~?fEuZL2s_6q`&2}yPsXXck!o! zib2%zULUzS=fEHsmOp-+&t>3#G?LHmdUqp@(phklag>L6h>-oM^W@isvwFuiP&#Z3 z3PN&jBb25Xz$1I?;`@NxlI9d%5m%~HbwK_%7@rzwKu?_?=Tn|`!kK-fUqtcmBqpV{ za z=hro5?4mh$pNbST`Buw2GhSf`a18ZiczYWMzTbrAK0h8*r&$)8i%cXZ*EaE|zmz{x&XTD6tSiLHTzkS_zC?fsCIxJOYsQ{>h)|PhN_KByC7Wjv~Gpegq<- zex1s6{As1Y6y*44`})#r(mY7s;{55L!08+kH$=LKj`M6GBvO?ix;W=VdOLve zF5!|6;~xzLZK`(nV1A8c0z(eDi257hzK(Og{kmNH1Tl)ikPR~qu#bxclXJ4)Su`I zy*`qtp(~+#?ZBKp@TCsoRKrW27zE_=|LH9*w+K6Su=0Ord#o$0z^~0dF^5qgJECgc zlKddyVei-K#rz>Diz#X%tfg{JQD0xFcTtxXiE(;Y9UwDpDVVMdPV&`F-O!GOB>H?Y zD%{_>SeX%CAAND`7aO*Wz29MM@P?zAMaq1*N1~(X%6k$62*tj?b*1|yn%AHXpmcfS z;io>=51ROyv!uUh@p`0Sj|*DA$JBLkH15pqXc;kHOC=wmJ_ zCYZ%Dl&)UsCbnL>CiIr@le2*Tn3aGvD+xFJiD~e&(>b;B!09q)77JhzN;x-;n+KOd zh~dddRQ$jnZhV!vH0x6*h%V!633sDFeT}fUZD-Y0JvZgmydeqEdC6d+PeEMF@o8yo z=EJ7Q&->dM-7vsXkuTr&DVwWsN83BZaj(F-U#Kizqy#L-xBPuv+m5!#>K3ViEf4lk z+;(0o@y?)?4Ss3WX`c?jSpew+Wl$HlxkAKh4|5B2OGId5<-ilA**EO1k-z3)#rupZ z#4eQt;;|d`k}lXZEJ;U%=q>L$cfq5h=HN3~Lfv@o@i=|cu`M=X_~d$I{83>7NTa`F zYT?it+nG;(u5-##omIcU4JnzOf0x`!pmwSHOET>qL>5*Dg*Xk0)kq*ri0V_abj3l> z$GLL=wfF+GT|BJZjnUtlh*|nm55G;!J;Dy0p`;1(L1w+Ufz}hXxW7h zb0SA3pvh%A+mQ%~MdU;cr#ix10{Ai34OP&oet_Qhiv!p}2a5I)J`p04v~c6gOn7rm z-xvV4IburwtgmTCk7-BlA?l$~<%pMvzkspRUxcRC{nz#14U1Iac^Dzk{)s8u#|*T* zeJ&h^?Mq?EO6z_c7Mc?Nk%P6VYe*Wqtf?~I_o^<6e?%oQO;d6s91)Ws^tpHPLk|yG zjd;kDDZco*G$}Tf%wE2en!w_xEMg$6?g8o0vP-<~#|X@d>5E$>Hs;C43ctS8HRp-O z{ML4_2RRI1_qCO~GvBtutzHLZ%IQiCpIU=%D!QSSMjL}0z#cF12>y85e1lfvd}0-B z%pxkh$f+#?dS3N0h*?OUzh~~8!LKY?jp+z-kWBFfMqDVR|MVr*J}qcqqmh$1i`iWW^hQ zmkFy*sThI6xK^Yik0!wkagPyr*h==8Yx?@H+pSc+{;{ zz7@!CeVQWzOG`dlzMEzlGDJj=IBU~zhwG5vi_JiHq~MYHkdVEQw@>CH9iscrg8>F; z^AL5>p`sYV2nV zt2xx)r1^{EW8ae!wGtthZE{G4W`lrV^4rX?0faw!218=^GHVN!SGT#8HUdsb67>MB zf9F+)f%Gm)J{Z&+!r71715^@kUSSmy>OX~yl?3NfU9A3*n*kXclRFk(-RO*h2DrQU}W>|di2fG4oM%p$nxt?!7{E*&+U+=8;^dST3 z&nZJ1E}P%SXQ`#mFQhJdIE*szjf1J*_5R+}3pT3?Ua#Il!j#Dl>qD*(j?NAgV=p%U z`nVTWP*?n$>3ex?PA{)PW>u9IMZemuN4-#H@5<if6AefdI4I^VSWXN7R|m-TZw1PU%-7u)EX8+0KG=Uw(nm z6m;laa`y90IROr01kt6eGqz^v&{-76AgqVx*P_*99nT{qh~4Eutoi>wcL)Bv^jqk8 zFj%Ie=`;o#rnQ(t60kqj09N{2jK@S&D< zm06z(k5Uy7Tg4=vM`4C$z%5LI#*pD~jzoR={g&rmC-i6ScWxUqH|!%>ldmqFY%Iy# zol8hEk90<{(cK4kvgfEcAa|Ncz?cusG-TtyMrMs7a)5)U&pjPKiglaIcU;$2nE4zX#-PV|qB}ix;#`y>Z4nT~Td3We4Y4fU^KP3BR{@2d>%h z;7!Hd?m^-&z0wl7s@Y=L+?c_UTr~qXUgHdt40h;KJJVWCx-L4M|1|it-MVKmHKhK( ze9rzOqyo+D`d8oahAP~IK2Kw$7_QTY;^{`A3xdhFiUZwQY{{}U^?*EPMd8*;^-GRQ z&)D@uq_VUT`D0Qc4x4i@e5m108qYn{Q}gz~J1+t`qc^Jc|Ht*#9F(I2S2sR=weYWM z>t7k)`q$$VwA+Ph$Np2B{?8e4s|#=fCgWV#9=S$A(|TgI7{Rt%pf1Lw1KLcRrkzIj-fF(>2)moDt@!GDg;S>=TQV%~TK z;lA&tjM;JNCCM^M>qd63^mtWUhN;Xf!MUuw1hW4hxp7mZux?dL?rLlH)`^!mr7}1Z zN{U_}cx9?hVAvvi#Bc^`?YsAQeT{6gWL9krXO|+jlDeK1xOV0r9lG@x=>|G-5bH-< zR2tfNK_yk->EQ@nr^1=U1%%iJ@fihzP7AYjkM%vYVCHEpk+!=yiw{J9KDVGwkZl3f z14+tB7R&1#iH$H1m?4L2P>~avA4Tm-brxW1Nlo{{bVlI#h@3Ji;~%+)Qrf$gvDpqn znC8#1U%;t7Is?=^;RJ51!09KN46Z*GNbQ1%#^DSR$OJhVnT!1n!K0QjpCykLfm5mn z*7dbpqOsB6nyq17>WIE9iHY2$==jXtyi_O9h6CG1UWP%?SU~pt@UIV=Bh!L%l8A`7 zTKU2g?*tFUhq5YTrCc6>(m3uuxGKqw%eVU3x**7W?(S%F#@J+!lP%z(ItD@)NzqGc zjX(33BBT3vMq5p>B_;0t^HuBQ)P^EL&AT}>`%F6z%>KPmu+3P|K}ALo8L3JgsiPn;N|nJ#Zz3bTg-8ohLQn@45HKJhLq)S4`(1MgCkSHOh%)9-abM9I9UF+VzSh8FqPxiC-cYo>;&_f-x=VheQ z?+mZ8ax$qMh?2pfQm0^T(BlC?6?6lJ<6p6D{i-C>*fZ)J27;e$x+qdB-)_QES#|EEWi%_&|9Nl8g0v!VNO>t1lIMs7+uBRm9ov`lK@3( z679|WxUcn;t}xHy(FGYPND)c|l)49MZ+(K92OvPWm8R(@;8M)EJZm0xn^o*4ay5Sp zDlsO7x2HVzrP*QDx{UC3o2%+YK6Quo)s&&E?nx?zkWIm5(xg>)@u}6NWcqQrMMi zCa_%zNWuvZ4~iw>wD)QZ&kOH#Dr(NH!+MNqj?C8+*L}9bfRhyaNgNFrTiK<6h@jh? z-EpOe-cPV9gF#UUua!Z;2K3hYb=Yv<44EBkOM|Yg*oXmso8{bJ*n99;KHc{0hk3yM z8kSDNGe?KoZ}pSd25{K-`HJct25&fR*TnKxh0h>&s`r$qp5cz2M`qtXv1^dvG`&b4 zqeA^M41_yS!cuL*^0U^Tto&P7o z?pU@f)50L+(Z@}>CIIvAy0yIjx`4IPNJGQs*Nbu#7hQE_^s~T%cS+IOY-kRZaz6ND#`TjSSJab#FKtUXp9e>IeROZ zW5B{Nr@ZVJ<2r}jm7F2OcEEcG3vn==555ZZSsDox5o@s}9UQD6qFVm0PyD|Md~Z zA7hG^Ztk}@ji~X+i}mhcPjK(53HTH79OpZa?me)R%~)k>Do^=P*siY?6C^;Bbc3;~@&Q&#>sM)D9yq2_k^Ed`-b-OEjp0 zxLE^I5jpwS=ze+vQA;*UJNA!%#pD+R&RC?xFz5~MDtF?u1TpBOUmhoT^sR))9OjSk z)lM^kgJ4`zS{})#eBQI+^?Q_TsxhgZ6OMw1S9AHw9J1l49x}j#EiU*Oc|a-j7kPCPa+7?{ne6(30u_obPD zf7wzgIdojF{?wvfW(~WMwN%Y`*C91J&8Hd8)xp)D$b>$Ly~Zt?U@0Oc9HWEE_qYBg zIx%&APfwKg?C_0yvutZh_aBB^6ZNZ+wCUm#G)s(7vXu+TR%CHp(fl|M9C}Wj{IKS81@>o>(!Y}u;wdaiqCebi1a9?xgs9I~6yupXV1SMQh*EgX#{I;by zU)Vy8634;27;+9}xZgvp^-bq={aE>;3Qvy0?8H!OcaD$jU$jxW?NciNmjH#yXB)>W z(mfxeV!K!U;xmn~65}@fc3(bGCy}U)Xb}&Yrl0I=%T91x;n;(o(F{WDyi1MO53`cb zMPGA#%SmkK(AkA-x#@{P1~IA((c>ZW?R40pyV6A+gb>qbCf#WyH%PtOL@Dbfad_Yi ztd)7fInr!Hj0E|38TQ`vN;jL17@J0=d)+SZK>t~henkyrKZEd&!>c=ie?B0jvGm1m z<|x_(KPJg`fPOAJ8uM$#7_M&U;F&%ZaJee20t3dX9tj8nmE1+{ClatKj0{IN_rDFB z`#0-wNsuL8^&VLQf1^%C+QI09K+d2nydM1CFy4x)a4Qt%5ra2+l{1<}_x^h5Nd}lz zTz-Q0xt9F+`M(2s&X*Sbzhkcdhpza)zt)X^8qV`sF^xNnJPy2O{C73ej|#b`W3rZy z3+bvMANL>CG4=SIXzIhJ0J&v>bS!xKCZu^Jyyew+%aG?^s76&@PNb5lDqmx&TGPp* z-4~)V_3I|44~%SucKWRrXNo;SxE7%lS*8lKBVk}c*eOs(y}zQ} z9hY6~zD8Oh&z*Cc8#n0#Wy&P*1pRKA544Wbh67R!t5{NiU&FcT^%&@sPh8(nG#xqx z@J|sVh)UMl?H*a_tVJ6NN5J-REqMQS5gGcl>9Qb;(XB%b)8PwYdY_RdbPBoQUJETti>2I}d_G>DTFbmz4f|ijNF(BPT{ig%KH3Rxv zvK8tSu!-;6sz3i1Sy290hfP;})rkF=naq9V_RLTm*hw%(jRu<_RocLq0mdr^H|_;YguAYnyTHmgbb{W-T41dwaAPTjU% zcEsh&hSpB_VDl~8p1xJ8|J;aSA+fGGzuQ-xD?VnRXUA&Vft4IRcHpVZXVZn#lS-L3 zns;=1UUTt4cFWLo%(o;y@_S@0_j4r}Nj@I%l2W%^^hz;-F~8S500PAEMRsIx3+Sp! z%{EJWV|8kh!Vc#NN9|m|qKjuxInkB>1MN68XeHd-8@$bwV1KQ2N;6w;FFB~C98BjJ zl%5d2ZN*gm9j^6`mxlR}R~5G{%pVMTkDqsyS3kfNeKoSRFcj|`dGVPckN}hbcJYcO zjjyGtGrz*@d>m}Nib~i4Wlz`N;^WReYaUQaWFUwMP)J1Bc!;_Lw(R<74Ik4^5a!ht zQeW@5luus_3vQr=Vbwt_f-o;x=5Ke;KBc@kjgjWyBo4Sp$0p*$A26Ap>m$nRNn8|I zVl<-+*Gc`u>6kos!}EwCmoNO>7F@3UPyoPS2q3)BpV(z40OlPF<<*YfkL(z&&?xMBr(lhi%UMn`VO+sE8a}RQeTb<4h}c@|q9Vz> zkk-ec&}xfSy>PtbU;~Jv1WVW`Xm9D(6s~G#+e|PVv4U;c$5tl#pcu9S&w4?Cn z#1D@y5TggdQrhEEwT{1g?QY%>zaW=uM4Us4RGOI#<)_y)IN>^FmkrTfpmItg^uj6I z!*1c!@|139Du09_WTBZ;Sx2r^e{6&*dbODZV5;tYF^mGia@CdIJ&+TD&R&H)@AT0L=`b9Ld$Ha*YPdoImU) z8Stq;ivzRpUI6DLmW7)fw(BNEoWtYw-9n@DxGGZ4r?wqVYYe_dL%m zR82d3@Ry7N6DX^l2B+;xk9cXNSIveV)N{Q!&@LYzSJNdAM1R;AuTx%*w&~7~huSid ztVH1SCU|u3b<<<$oQvDZYSkDXIMiQ_?(!7Yik02P%;KdFk8oS3 zuI7&wQM`BUy}`?m^ZFruUsgk(LSKhl4wphhij3T%yyoJP{E!_~gFZJPi|G#9 zqeASQ48P_feC6JXeLegH@K=)^D`m62+!KiG(^As$My+2&QoJOt$jELgy})!aQ1$t? zYCcB*c6w&>c<|0N7arcqKb2&r|TRKuiqJ<4z=Bll(4xFD-tKtc<9Yh_wr zjt$O4Sc)LD7{6I8ea$YQYrK)Gz8P}`j{K}KkWBDvOKy9qO zJElAQqHp++IkJ0B@Hijit**gN#|epi-gJBVE&$*WZDqpbmph4Wd@N1j2{ zhvDRsa460s|KtSi-80n@)&3NbGxcjNMfnNyeU-?_#oX{GkN0u^ifK?O-`T$gF|Be# zFTF^J;-*&(8!62Vy2D&{S$k0bW+qW*zz9p} zoP>UWOzAeTrC(ya_TNP?t$|`_ANL*cW(bUu$ z9MJPt`#?y5IjuS6QqSnT)EU2^M#%$BGoZ=W2z1t6w6XY}C?=*3U6S8YE6CP+Ojq{z z{>QI&%14jmORnK)(c#~#f9Gn9RcIAAUR7mO!O#N~FnR*D$Mb*2ol}iV??3N71|Z$n zz!5Z7@>D7(3K@ISFn=ckKTHEfbk&o&mrjZYERL1o)BF)bs-l!N=i%@ZaghA!N)$QB z@)LWAOD>C3LgtqH5E(c3I=$fq8wfsCWL^1T+YuDz5j<_Q?&JjtI?V{^sM@4!U5+)c z%)Ixz6KB1<9B&`fEL3?~pT;1@(n=1+7|Bypy!f#|)-hMD7IX`?$BrStEpE2&Jlo)> za0z7ujvaW{_sFjQeT;=7wwrE}+qGyE zBl$rOJx3(bd1-4R7GFQV>T3Rpz8_wot|fMDM+6ZrgVD z0%Xu7CIGNxg}9d=hci^z<61!MZlJ3Tv~p;R>wTJ!cxDWPyfa~FQ4M3F(3)c*sy+e3m+qnxt_yUzco*yN9Hca(Gzm}hNa z3I)bhc@XVgHQc2n8)8>$vO!DTZwA+$u?o6sI)Kdmt|ha*@#bD}5J%w}7RE$Q1B7VC z@N_#apLBo44iou1+ojyF(l4%2)vkY|NltdPM53mlF?(9&F&%V|U`oU1I_AedG1*P77ac(x}mUlf*LU`oO! z0Lf_@?Z*9IY^0H7CBzz@2^s`Le~;W*)8CX;;Kfqv(=yXRhxC=3>8Ci7#Od0qeo^2k z;|2i*RVcKK_RjIeLhUllj&5JXWsX{aoC+=%4-UZCn7Bv8SS7BfZ1VSF*PwgF0%3JS z*Sp776gDFoxr2ATyprzswPfG_J&*tIpW{Q8tvpzp`z1{Otj%5ktK)+-nnEKv`};h%02i zJ@;^h+Bzx}DFsAokF?}%)zUFYmhr2WK zI%Q$55J2dXYa1eIN;BRX=pCpR(Uk8TZcRoQ_=AVfn!`k>J&oXR3GXFu;GVpMu+Dx2F9 z?lPqLnV6*Hi+k!@nazoLpiRi6&k{hu?BR7*tZZ}lNFC@scJ-?HTEb3n z$sJvXCpld;$hqUkpSKbjnMu+@SP>CF73&3N!A5@Mi)ajIt4_Z2JH0oSwONEL;enDu zd2H!Gsw6(#jz+Cs*iQ*1wdjk5-3wXqZFkMQ!jc};;Y)EuBQX7U{rrNRz7v9VjEQh+ z_^(H@t0~6)?vlBN$g{yiF$Og4VbnkFCSc3<2e+*?jVd=SA2#)z7a(W!kS65j{u#q! zL?0`c79R%55t84JRb@uCn??>Ynocl{keySd9MaB!=06WNw^c{ei7Y06Qrt%b(V8lI z%vGCc{7UPZhy*zR`o;MnD61pN0(`q)Z0xLyb~&!2<(`L)6w07-X11$NCSjy0&e1YM zDN95c=8Y%o!&tv~wp(+goOhHcGt1sU)Ar`8^rK)oe~~mf$8dW>OEnO0t#~%<=D%V? z5baeeXpHauG@w|QDDptcZz2B<+A|!VK(*Xz=m{Yr6NFqS5sqa-m0FDgc!$G3J*3y| z%pCWyezj`hGFP36-U;_2)TT_5R_c9?r0|N!Z9VbZh()_*keFRs)f9*r;W*(B?y)*y z$)BBAm8XV?z5Z_>+P+pMD0GpJ3oUP+)I6n(O7a@uG#ZN7?Jp)f?_0Ulb%Yr-91Nx| z8Hp@UisKXqjKkj~5^~~IK;I90BIQMnt%aLl?OY74N#qowVZe*Lf@djN2`Pl{oiyU* zlNNsiT}}P+BSZ3l@C$eb$r^S6c>59l?hFjT#wuLoP7U~O-ZX9K5k$Wfk;O&;N*8z+ zU82_(gU?OelM}>bGm5a=7FRajFq{*Sk7}qe>#Y?5*B7? z{Z=05k6zX3D63W7Mq*vaZshiu0i*pSe~4`Q@T)N zjopPCYBnF?sL%lX2XBfQI$!eiu&=u1Yfc$*KRiD7!%Fd!rux`}P{Cn(VwP~79`jrA z;z|iVof{PtY@^9kuZjB(69L&*%Y6f3Ka&<0^U-+Mvv1!)h+J?&( zNFpwzJpNV&qN&?)?-y@O;5Kq;Qv6JR^V)=w*TCKWjpgR=u|)0Q&nb@gM z4H@Q3f)}H&AQTmpE6*+2A3)Ue6O8=LHRGL83N7gic#n1&Zj)8X^LG1w>Z3zpI!hoe zuR+Y`mTHdZ35%o7L=fTWLn!4%n~-9M+FDKbWb+*bo3pV2aC37DJ|TY6pxNpUNW2*J z=l9dpKJJT!*Q5HB3Xb-zQg4ite`Yy(A$q8`b?YbAPw;a3$Lw^(uWl_Vy3H58eQ62mN zbWqVNtB=I}EEfD)OS|)J%XQ4|iaGFttprgYZyWM&&@S4<7rZgz6B5zplK(v&iZ`WI8)+3nQ$@?SSyF?48nFaN@hz^qG5!)Ttc3IFq1 zzY@tu7 zYWEpXn>WZKoe(vo24pn@ZJ!Uo0(i0p^_E$<&ij!xXYV|1-~-yMy-*&+)t)tO;!4tX z)$A_2y&DRjM$bB~db8ey2y+IpKcWtX+j?mWANbwO#Q3-UaBRbfBGF$iTloO8v z|3U%N#gPp+!AQfI7idIC@ZI{4FX)*T1zspRvJJC27U3&b|I>g{g0wK7MxVz<;`}}*Trx(W^ZnL&R-)AyLxQ`=eB)kb5=ya`4K%r=_eq_Hr<>WlKqgUg!j&) z?amT2xJU{6De#c~IDRc0pih7V3XPrj5Ytf19yAZF-Web)yIRb;z@!muW5O?w(``6duWHYc6RsK=4E`l6+DstWx2NK-xlLveTW96UNa z6KiA=xu!bmc))H!d!l$g;cx0Tt>od2Agnj$WF(Bu{7#7nIuWEwrJ0A;l*_ zk%wD`COA#9^+1`WC3l3=K57#^Xh<7TbmnvkRl%nw(!sTMT)<5aFnt_1L3rG z2Qm>IpACq|<(vDS^*1`4{|A1!ML;wiarx@*|IFmiSpf`m;!OPp`hOC0-qNMKSx7l( zuy-)(rH*lmDAo=WB@j%CqatLli5CUlf57m%&&6HaX|>JL1w31KDr7Qy7Ue?ymA~V3 zyeeO@JTk718>CLy&-^VI0YG3Zr+vP!J)mMz@$;9CKwIrV!2}Fr#*k zStx{^$0z_tT+p8L({7BUkEjj~ez?Z8#Xs7*B16t`w>6RGftBm%elnuOIuS?6R^jKW zVD21v1=FZ?0O8cjB0~?cv_VzEQ_A}T^ngzpO|D>f52=OhCC@>NrTe`LJeM1657+#Y z(!#%ox7mwTtfKL!0zDqNW`#vwCYX*+*fddzU1nzllJ$5aUn8rnADHvcH}nDvOuSxs zYy2zr-chq?^!>>v@ajJ?ET@h?7y*3ZbX`$q6_Zi2uPbxiZAhVihPU(7jAjwCoHEf$&U;br?w}yq6$CPyST2HE7+k`x5TGJB_m{(u&}QDljTGQzTcCn zt0K(B``(F6r}uFfF%a~wuE5spr}v=|ay`v^A9pE8?1RTxrJV2q z38c{m9T(XSa>Y&|>0MkFg7(3+{)^2H)B8&9iDd+O3}8JahdO*TD=Ki`24r=^o&2(p z5SB|X>T(5PbUX}JAo5{I4msA?ix57w4_o9Yf2? zkyL)2+3EPkS10q2iacAuW(Heo4D8828$8F2=$EBiPb`0$8k_SZue%!TG~0wUMDq>) z;LE8OZ%?BFOV^ifJidwVE_-N_htCAR zW%6%?I$PJa%pa3TuwZVtId47xNp$G>&7Bb$3j#BY|AhD+fb&kbH3Kr;kMC7bGadcR zH-LJqs%~3M<|Tw{#ljG&px$yrG$rP{aam8^hqKg{xzGxmPwnFB-<|nvAak}Hu5jQn}WS$fo zRCnQ6bmJe73g^bu8MG5Dj|#cYX6q)6@KIVs(4HK(ZJB@&OS+ zxQ;=FfFC<#KT*AB@^4GIYuKU@LM#;+IBPGg5>+fI}O|B8*XKr>h zh{|3ea=rVV$!I~ZIg$mE+%lj6GCx;xBtf)}C!I%p)N*d7F?x;ekH0^?a9U2zPyuKi zPZwr%%|)hq#%Xd_fZ~MZ(nv%!zneGmT2mRpCZgp<-$b|@!-$H-)YnS32tvgjfrN+w z+kJT50*B2a%^rE(Wmx%zJOu2HcW!%-V#D%}TR%de;jgLW@7Xa>6Z573oiZujjyk|a zTJc|BXqC4=vJh^rqtE>ZRI5d=;eY*f~_BKyaYv>AkBINs(0~Ax#*6++v6o`a& zTG)hcM=SL+IP#mPc9E^oR13vGi|n=YF$fCN1yZ-jK(E)w21L* zTas-WDt=H72>E;MlN| zH#-5DD2px*LazqSa-bq@z}%QRb#_lFu>YB0?DTOZa}v4&DsqJ>g6k7PmLP&it(I8~ zJ)B3*woqeQfkL2#22DhHYttK$tKOVATu(C@rYCFOqaT(sZ$CziOnd@{*Uv_wFQ@!b z@01qxvrThgBkdQo8nt1*p20fvuETX$dNtJiNF!Fawl>_3XgFdfflcwx=VmL^f;cWl zolJ4nm5Dgh^#$(^47Ivm*{Lft4jH%7QS_KjbB)=C#YG*NzPR9J00mF}=KcgdU5y-& znu}lYUV={MOOFr0mXlF^f}m8KsW8Sd?9DC4ZMhJW*r;hhv@k49V0jI<&F`3}vvk4% zz9W`xOWiTK+MC+W?Iz__Pkg$V6%`2E8qX*-U6R-U4LE6=iWeWUaTYEMFr_{{T}BRl ziJ$A0KBNU19x*$7(FIj-BIKJ>wBzFnF|nlz6*aqAyM_$_^;cJmkMv0?MRo*+=FSn0 z@mqH7+T;z`6i@I<$TWOUE_!;>@(^)Ea5Y&LR4MNU>)Jrx*C!BDs>O4SCkE8jZ8%Ub z-2VT@Jd;V+p&l0?%qS`ylI-#l!wo zIMbO|TU&PVH~H9xp!4@NcZM;YKd~|vMcgfB$sz0!wZ{+d@F|#B(#?xQ0-~mk`iKJa z89^-(cjAZvSq$F_Ji7Gs1mxa2hW84`S?%Q@>z7~?L^p1~*cF?-uz*(=>4`K=otNd0 z=32xxd%6Q?)KZ4%a}6{%57NSzYa))eQ|y`!1%SQ}sigQWpVoK#bCGbG4wKf75$!dT ziG4K49x;tms2XC!s$nfda9o=8Q4=J_7XXIvH{=Vp%v8Dj*g=Z=M`P&)BkGMYda;K2 z5T1K+bJpyPQ|Y`>UN$-UCQ)@5qdq3Z_k4TaGe~KUrrvp&jRf@Rr=O$-Q$HY z3l*tq0};#Nsrj+H+`7+0hXzlPHz2$J^aHt} zBl$#09VAMZQhwyKf)y{xVh*7AwN3oe2CHDDHpoii@^&NmNeeQ*)U6U}5iKGcI;bK$n(mUcmxJlITXV`nmyOFfz` zjsGHNV)`u0q9^vboA?mlb6cG*|K-qIw<=L@+Q~0WR%~m@`|-F7zu{)nh~g>r7GNO)h-L>mBu=Kg;gUq4UZZ9~557h;=E&9_@8K zZrV@OaavU2|NJnCgrQTp-n3Z0{>{N7W)hn(oS}1@;6rY4bhRXUjyXd<_YI9vx~imQkWK@PpM;hAIQr!DG!-(kzawd_%nn4D z##cT_DF11|kSU;HhVGeeuarn+s2H@N=-IR|wA8pWq-Z04!kX{=pQBz$S>+WMjEV@S%66)aUebe#sx; z$tMV&O#QvPNdF_{(c;`y%;n3FE^6JizQW0HmFB0te0Z~sLgE?$#1ucsEf}S50KIVT zYFn@$uK*q8q{jq#t9Jh-wfS#f?w(s`7BvE^Y4cIqcFTe76GP=Z1Qv(s_ zAH|IwgZ9wT@EzB)kxJq4+@6~DV6JP<;F{v*oCzn4LPvH9*I!wP-Ev%QNhw320|)TC zrhJ(c-`E_#;4b1UuMYC=n?-Nay`60@Ps(3*Y~%4TJ78b9T3vpxg#i&B-Npo-jRc2B zGfvFGO&NZ(MucTfW|Iegqync=oGIm-bAEf8STm*N5i5zC&wOqAzP0xD9}{z@6LDU& zcjx!uw68lI8NtO>eiXk^Ru*CX{y_5a|M~r1w*62D^&WTlz$%kwX}Ey!+ZWps!x-%$ zFv8v3e+VSHsdfexFObDs4NTQ0|Ks>^+8$E5TP3fk3fNgiKYz16CQj$&EcnMQr1aQ4 zG`x~phtK>XF7cngypGKIHEZ+}-?Yn2(rLQbmHZP#^x9P4_GDAJ4(PgqBRjy49QaZ@ z)K*lsTfMhxY=3G>dDd#K>68GYpw0JYxLQ>4?9De{6XIcWshldofj7oVJ1oWCvEGbh zbN;|pT-b4*7&%I!U)JV2Bx}amDP?OQ)$lYM(@adY2dJUcd}iUtGlAlcM8xd?^qpha z3tS_KUv`=9k}^T9cpBWBb#vd&-CD&4Qr=3Exdl%?26ivFA#AD8mLEh9KH>K(LD<_E zKYs78Y@H9SR=gb;jpH&~QcT1iE6`Fz^uv?k@c4;bW=9BueG z2*7#Z$%>EEt2#ebaE0H)NE(8J{xRm~52rk5z`>1uOQ!5hw>Psa*8o4#$%GWXau#y) z_o36Z=K+yD?mlPkJQlVCR5ZjnUdRRscIBnIQbb)H3sfD+^i43bL$ys}<9uMb=dwbK zfCvZos`8W1*d0#<(WEbi4}2lm!FdNexz40SBT(Kc=TZ5{fUjMk+!-qM4nap2UFfJR zh>>~+ZKEy|6byuX>0MW0ZShaQA)r;k(J|?tbzCO5h!;!M}xlO`*JrkVexryw!B3s~^m>$(Dtj!D8*g-&_FFC0rjZ-v1Ojm&Jz75w#c0PHs_y z9Il0XVDFN26@?5USbFNt;8tC10K}-EF-S}q7!bv7Mtukg4p#X*?eu|QvOJGL)JmQ- zxuqGZ63Dv;=F!IWeAj$by;%!<3;!)&bZn=3udCIYd`9Z!0YzRGJ1l289@pq;D>rUU zi!;qQR-kEN)~=w{KZD2$5rLecV^9I`vC?nrzT&n+c?UlNe!ghs~&cTV61<_&{6BY|vUkR$8jN21?(ue(SCm}_H^)s38KaIDW0^%H@9KI z^2;_w_9ui5xRV`D*6c@}|B5-Doe{~@?AyfORiyNtL{-tEX`;2d&#KuYel6ZO3ta|= zWyBP5Ztg!<)f=OiDVu5nYpWAA<1`eCFC`M^5rx`|-b;7DXZ*mH)Y5mNJw1StgITfo5YhB0@w5N zdsxVeKIwccw2IU!zm(4>RJZw`T2t$jwa&u&Sb_PQuYY4_yZhso_6T^pRp&~MhW1>% z-Dh-TdP^}Z(2^sI@b_3hZl2wO+C&GA@halA3MEo%No#RkG<&ng_;U z5Ue%+XM5(>ZC-*aa$prH&)2jMmHF^t*!JuZ>*`v}mdyBgz?*b)iXPWT+(DrKw<5KM;IAx zcpikL{O~(8CalB16DnigkCsF4Qg%bLr|7x*2g|fol9s@R1nOYW4wJBo+%nE@qGQ@j zXf1r^uv|;+M^-_ByRt|LwDyIohDrsKhPVoUY}O0ShISrt5J0uDr*?xi@}O&6T;MI*92Z-PFOmRMkgaI%iLTig|L1)nUK*T%{BcQ$y+> zx%-i4;oi)QDW6|HUhCH7{DD3Jn+JOvrmXJpWPyp@>n`bl@8F|s@LBdyWV8Ao>%_?1 zr_Xmoa&w392Ul$QGl_t^7TR@ER548zaI=JF7(rpF#+K9QV>2uwc@xd=A(Vv{G(0cFGhWgp% zf5pOEG;~@QV}xtos4>zUu-jZw(>_<|tpgy11g7%~y!&r%v?wDc9GpaY;xN}Y-FYWN z8`7SpH<@OENxE>lxuWh}YPT1^$RI4bA+*TDGqt<#SN>%}T_x8mRh|o)&^(Iko8Rtu z#uh>U ze!PmOl|kC`4x;y|8`1(w4qq<(@Y5a1IoexMPmD%_+_|_;yiQ{enC-Pi4{dAfCp;D6 zWTlgq?YRZ;uN0?Wnqy4D#_)MH?bUlYO2OgWVi!6MwY-ke<;VWo5$?L; z35iQu#=BMCOLjm^63%dbh1&CC`U*IAv>0E+qnuLzL}C#QvxybRosg_&Bzjz6Y%bu! zzfEGTTIDr(#Q`IXd|t?@VmLbC5|~K4gTzOSOQq6f6RW70MXJc+l3&!3lq$q1jRmV_ zI9PQ!X9)wCYWKpAUpNa>FhmtKXIC!Y`nXTF;@&6xa5_HbV%eY7Bi!4ibsivyuERFt ziO3NK__CPKdkkZb)Df8oGR4LZH(BJDZIJ<;s~ z_Ev#`MDGGO+dlk5Zuc!+Lam^NK%dRyC52SQs-IY4@{k#>D_&CpgJZ?|S&7Jt^Jrow za6yi=?t2bUlVj9RlVU^C8K9=t?oAz&;y8DOI7?*!&?wn-3rTQiA2=QsUdIL(o~Fu8 zkfu5$FbdkEe0t}@PlUc-P&ZD8TD}_%?K1IJm^ZwL00fLk>J-M08*3WqGONAy120H? z!X{8JRW%=1V1i_Z*FN>Q1aFlMUK8l$|LF6qm+F#tGO*9c8JU)>q4!LP9m%|cs^W%t zrk-Vm<*2N9)xJs+k(07y4=Vby>xlFG!3}|JYuSB2!~L()_a*@w5O92hIZ=C7+y8l7 z4u%Pf*8;K!4qV5dDfO0HBNoXHF-H=oc-RUCv!^H zS9Sa20gHyoyXIbrdfN2K zrtV-;zFsirGKdKSu*Bg-+Z4RXANHFC-mCEgodtBHUYj>&#X@xG<$&^Vq-QaS5Gxw; z{5bpR!!g#8!)L0AMpbhqM=~zEedzg>s@OqTm|5}e@|0=l%D|QHNE6j{>&U-Z`dLu8 zu`Vj58V<7!j7H;WS88V!04CwD+Kauj_1aKl2F);_hu0IYDEss`eslunoN8DKl78_k zRA((#KBDghilp2NCU6xh&_>q9qxD)FRS0v#=^RY1JZx*q`n zj_J$MYo*9wMBc${S0{@=9#=EqO3H#y(ulkXI>Pm@__T*d- zfK8?g5|D&jwA8ao9Vj?VbSc++H-A^XvMV~9ZmP8e1MOAX!hrRaub%G5rB|J6kS4IZD>^q>;G8|`^+B$aN<-4WtA(o?so|Lc`1~+bVya>y zkZH0I>&vh}cWGEIILuSKnaF?i#7~Z6b@NsVxZ$R{-z6^xk`V7#sto=iAXBzB13weSzCTBVvmFg~Cs ze!>^#@2}MDqm*FsO_hWrK5CY~g?lst(jxA0H)9|egqTf8>#2y2T4S)I&GFH-ogziQ zjQ4VBM1nb=ua23~KLEXYsVc|sX5|-i(V@SmD<&4&5=KlsQ*3fpf!8FRPYBvuzJ2V; z?B15M9SLWTN7#X;pdo zhiW(~T%H^fcrhD0&GB%wG_w@;c$L2)q&F%$bs!lR^?XP2>3pIJi5psy{yrb8_xlQ;<|{ya!f+8`wwMO3C>OhK*Dd2vv$GO%xpU2ZXYN{ixR49%2(@3% z%1tW=nom?5NzI?b40b1Dx4i0IQ>B*on^>5eXC)1O{(?C|v6NikO(7p7o5YMK$!*M_ zmIqNTC0^8(dp{JAkF;MuYc>^nt>!JNqy4Z2$Iv{0p!oc2wtTUEz66ojYST zXK1F(`D9RTv>Op6F;xD3I0X~cI0F2lq3$LpJQ_=L?tVmoU0Vd=QvVi@7UYI4{insz38C$bosGg%hFC zzy3K56A?PL8Dr%3W!L}VN>1Qb5{K@Q=pih3C`Wz2*Mj{q%tLIO>bMZCS!1U^LVTH_ z7zRG<$NVW=;8w@q!Od=FPnv6CR*!d0=NmWdiP&J}qDF(}jt({CCcrUFsun*t6#bHB zy%NhaohvzJybXC@FsPZ(65dVwf_GUEzux zPbLp-*rz(0ajUlhaWY$JQHH$Y5j7v~wlpMTuP!p9sSNefHxG`S>WFs#sE=F;!w(ZTNHSf4< zE^}1at%{e`k#dTjx9U^HW!<}@J?cNCF*b3=x)+PJFN&N&0i&LHCxFIPZP|0P=V~yEOQHZkxyda?|uR$eO zZwpcR?&1Zn(M=}tGWe#Ke|~bK{);;|XC(VkETk@={gNBv@$XrGJvx6blTL$w;n9)p zKpFP&hxFaO?_=|u?T``jc_{4x%o3DFZ7dMzS9iTMG{~Dd#5S2J3=)BC-h|$)Exy%+ z*75NlE6}U1BKjax@3n-7*X-M>mIxay;JX|XJQwHeD?}^>S3f)aI0k~E8nR%EjXqvK zxMsP+yYP9k!I&hj9shI^bLw@I=ih}MaVSKwUXXVrKv}XO+z=e?L5uCk*?>HO35-ce0vZQm&Nv5kWY7C;^W zK|x?d$_Pkslx_s12@x{VTZl*#DX}XcV1j^pe1ly=1`O!4Bi+UqN4xrU}#0#dqwq5`c(Dy zCa#XEyZ6hgBmpE{y6sxiaKJ5mSMae>v(35Fmi&FWuX|Ot`*5EMv#LT24}K2b9|{IV zF0Pr$PjsS78Tq@Pj!0(Ql=VntE=XZNSJ<;Wbc^%^)qd5Q(Xr_NbYC?dURE5)(u~VLS`^#adzHMFUons{1*fQOT6C0R($Y@?N{!9uygJTh!vvpPPyf8#r@>^ zQp;>~y}a;+Ld?rnoiX@k4Z7!vB@Ec8Z7=rq%LqA;o2RKCAtz;<(cJTKcg)5Bb7XIL z_u148fuZC~wGF`doL)TuVwRFD*H{8Uc}0xhe^}=F6sE}kda_{xv*Wu=&jtNgK;@vd z@3`&hZEja?oNUKq9d-Fpd%UvHF4$8}$W>pN&g9N4w7^AcJM_HE?p- z;&ld9@TPp|LGu5kvz+;Bx){`boAy|Q?a=VsuDaUMCI85f@OQ!3rvL-d^d=78m#PV~ z3Oro4waXZm)^o4mI$~u}ZJ9evkd$1RPlOh3jq1~Vr#}J*2kH9731ZeljoZBydV{iN zyRS3P_9GGXY{Mme@`uB=5}PZOU2ibq+~owy_sTPh_WM8Zr+6X2p^ zqmc6++dtn_T;qy~QePGbYlDA^l<38wnhbh|YAVq4;0*Aui)sQHqUX*R)uhp9?59hv z_FS-mXF?t%BGT}0ODVrJz9K6gG!ctjj?rUQ#dNUiDAuP$x_=gG&ilDlKP8HsZzMAh z>k6`D8v;Zwa;blwr`r+YY{Uly2k+~Z(_#M0;dUzecMgZ+v;McS;r~ckc33C(CpzZg zm0%4y)hk)PA^?QMgG$-=)Z2`^OpI=Srm@AvuC(`z831iV27Wka=Qa`?gm=Ke7^m&g z(3%BHsGbY+9MD)ru|N{-j*agV>@PrXGT6YOVd8m~iu@r@$s5!;S2v*)#E3A!%%!#coRn&s)ue|^v-+Ica8I4}6@=%=kk5LI{v$I~ zkUHTQZM4?zI%2R}TU&)277a7_NKIGnTQ8i_b}3BLLh9{6V5O)I99uj(|3-an$4Wus zfL3W1Nta?S7Zt=-&+uz6P(>mJ+OY|Kga2E@_5btdxye+Ev*q=cPT)-l)nigsk*#@} z247Z|Y|E&5q|U4PyI+^5YtJDEzBaurpZ0a#FNSTZi-Xm-E0x?ol1l1s%}~}^j8C3c zAf?Qeh&$(wZ3WuRS#4sn-^FXEWmH44u#KS2hYh4s|3Ug=Rl7=L5P&+LC`vEF$2c4m&0wlp! z=IAYOQrqO(p58KQBD@+CiwT3EKpD6+8ho$et?+LCmJpbowY*w8#+qi3@bp+B7;@bo z^WH`rj_II{4WDe|Ip|J|cKnECMU6{v{J?GA^lJ}~nl}4dWA8Q13K?`!<~zsks!!xO zL)MqP#jI>()CFtWRVtTQpe_OLU`zFHYTdnA#8I>qTE>Ea?$-P#q7N`QF68=x7!QGw zGc|l)xEd}nTDr?Q3dIDhe)3mO{)c*FNgjy$N)H#%k!!kZ&hk^YDoiZ6NE)$?n!b58 z?wDm9H?}(*&KA9av!cPKshT|XKFEQr0rssaO5aebe$_f#yVaR5NUFhBNV(oNQKtwHE$9RC4JSgDC|Cp08a z$v>0AtZHtzufQE*IP4$s|*J{ags-euq%}1-+ ze_}EP#k@RQRRNN;aME3^_cb3jc>3?)o??lJ$PVx`TYb3W(9%Ww!|w)^e{?6jNEaNE zEoYJ8eXxh;G_Lx59j4|A-7SgKqM?{{mmEoJ{1eJ2ULE_7b0uEe%Z6 zksi%5xWItcjT*#8%sS0gB+edAkdWBAE*`bzooCXHooi!r#a#rR(wVjH!!i8IU9Y7# z6++MOJo)0l3Zh8Jx`PCBzB|*- z{!J(i0hQ#_si#9Fb-PDX`H0o3HQ{wstyQ|W3LDTw%eJPjQwzJ5vM2bB_V}h!=|vZg z{Fqj1iTkmvi=_1dsjxc1kT&Li0tNXvnIhq|u{xcj0_W0Z8S#zI(Gz+S3E)Fs2T1;v z5@?mEWwL7Bv7!rG)GWO77Wa?LiIOgyAqU-rBT9bA!0u*Q_2wo?CH893Qwu6_xQsiM zdK#-gM5C3&ommW>A$^M+=@e?~s0qv}%YqsIT1-tnpU{=RbMalL+;U0?1h=(gB-@_~ zQcHAR@hsv*4_YnvrP#M8pI$p?TcgSlaj-rjZI{nJnS&kNHS^=g1G|Ro!hBqxBt`|9 z{rE>lp4Nc8%{iB4uZ?=3Eb#$5NIDwuxuWQ8PE36XCl`vq)h`bsqw=oWidT2_CThn^Dwe*IA9Vkr9{d2 zRA@r^?dGjE!1x9jr2Hcz)ofaR-)M9Ar`AeZV}{7Iu!d#1-l)f5b7% zX8{C`yghXD$_h)PUu0;sn%cO26yn=vC7clV*rP$&5Zrx`$}jfESQlB)ZiWTe z3o64_K3zU;AHsVEU5o)HCkZURN2OH>(=L1tl8qN2g>-LJ{m2%j<~JcXrmv*O;~-d4 ze+)3UyMdWmsPcV!v3^-d>JW zcFgDC?m+~JD{NA?`Cg^&_R&crEyZNI(eeaWoz?DWqg~F^2w=4sTGP!Uful63-6mX% zW&HwRbqJnHJQngS>hh_v1s5-_0WR(W>We)eMa$p2!zXJvG+MCtVkN9qzv zkf%JRm%*VBdkYFm@-OgCCy%ark2dtAWqs&pky#9wN_LH1t!GRW(ypTG2?H}d%cND^ ztoz0YW9h=#=_Fs)jD){g%`<~Z`g}sYTwswa_?s?>T$-ry8h7*~SSC+@NE-Im5FA;N z%vC>*fDj9!jJl zO|D?#S*o3+#O@lOF1_BL5f&vq5Tkx9$ky_Vd9E|Xox}XZr`HY;``th%36W%m)9#NT zlRrv*dIstYi)CCN`eKwduRyC?I^fxU9%;OHX&-k&mPo(Rk8S5A^$1ZFMp-+huE#L&!<-l06xMTtu zWO^Sx2g#xPfOwghFhON&Px>9gnw3E}DQkhNuS484eu9aTbaYI~?|&6lHq6@AbhCnM zAuD64vlyC{s4HVGp{#F_KE6@0J)OMOdX{mhbO0>ZW@ja*b24kUDWGgeReJpD*W&L* zR0t47Y2Nfu2ud9}XxooPjH4)fR@N(BdqZLD>HpO0bV-eRrH>o8*dn!6Z8G^}g=H=( z9pTb^_YLAx_iXygd{juVgVBU1N7cGGfM+@{g=9-^(4F%wpI+7Fn2sVj;JjEa+j^8C z2=ke1(4n>ku`d(xc!7TKp@S%~= za1)T{;)9oheFja5zUY%~u1U0uDd6Y|mYLHYoJ}n>yWs~iW+m{(md6?sMd`s;a3&?2 z=IZzI>1WV2HCweb#n_D5#I{;N#U+21-$ARW4g+}GA@33n;KXDbjh}N@=~WC-Uai+y zC5R~Q@2E5HiAsV16MIJGj~fpS(Hhpr4P0HVGW-Qzk|0&2F>m>{ov6gZ4GzvaqM&SR zRrrUojv(b0UX0m5$1AU18HPdan|CWhKniQ*-*hj8edsG@H0emzEkB+KlVgwBXQCbf z;uGC`cM0|ua_&5Nu2!=8%2UT5Dv# z_uuia8xhmtfO8OM=1F28u~9M+O-<*M65U)CU?CbG@hA&ID|f}`SJhApdp&%CdDH`+OE4HC;0e-zF!vJIl7us|eCAeRNH9m8?=lGX7PVk&9@vrKsE_D_S0A@xmtA zVlDGuE*~cLPN<gnPxw$ej-hC-I~6pBc7d-(Nn&PyPYRuIvH<0`NGUVomWLqDY4yBVRim~!+G zdoT$XffVxFWv*%O|4Rhz=sP)qPei?`(7*HCL&`^=XuNw1?oWHHQ;e<-}SR8f-E$AKW<98?%9IhX;WzC(Pl4J1;(oDm-n7^ zQ~Q;n5RXM0fuA=ilWETSox)q;vSyL(4*3ITMKR8pV@7GJaM3)e+L-Ags@55WH&ah6 z%HaB((W=kxkyXVnK(_FP+@&(BS1Jjp@Cqh!9 zJn)xi?4GX)Vn_nHiqq5gCqsj5bp@}&z5_)Xd1-gk?rkd8X`nl#K?ax=wTDbNsuW8Ih@E+>mK{N?3_Yh+JFq7n3o>`LgF|GS zlPB$Gb(xd(PD~R&Je}WO4<;POp+YH~V_;KEp8H&s64WuhVP>BRwi#Y*VD4$_%JJt* zHIk&hbaOcaqb9u;I1@-c1rqRF`(B6H1yhV=^(v~al47JguD1QBEbt3=Sh`tZUJNz~ zK&NAH++je$Ou3tVEu-IEO~OU(5}>{qWJjIFK<7+m-E*@349NTyj*~;#9mpKdP4AlSc1kz@ZcJuSlPc;?VS5_X%*|ci$~%Pz5wvUh zGtROjXLF|qdZ-*JL*~{u{$loavYO9)U|z8Zj972}>H(+Bbehe&31t(Z>#xV{Pf^Og zn1~lidWg!bm`|6>O>A~yw}tDl(ELx^435fr4*ESf=~=aiyI0Vdw@jzj3yUXs#w$Yk z427Du?<{24$G;W)XKmvn49AlxGnct-Q~?u&h8i?Plyrw)T?Tq=iYuxu__woFMNfPK z{_~DJ*Wh~tgUW0JvxSae#M*%tgC6F{7FX>5&93=(B=o;+KmIj-|Ci;tIXiLY*9nJ< z?6_Hwd-s3oV%q1>6KO+3+DDmZE-Mne`tF9X6YJDIBE6nT~LRmi#_fmN|O6ddMBwHa^}HladdT#*k&um6s%G6R{HPPSZQ4dNrzlwG;b`j41^;Lu+OW-?x;y`X zM)9sJT_p{WMAbK+;xG390@WwAV>!0fEk*=Ec9e|w#t>XjqdCL(5-wok7AixsIJ^C| za`=G}7l~~+ptwFdxGY*Gg5t@Y3)nM$(5I-^p}pcA!N>8p0<`IRojkn~vBQpmpM&%k zV_5$1^Wo5?I-~J&F=PX=|HIVWz?_>41|b?$*a-3Ahpo0%n;ON8iAFu+^RR@H+1i4( za|Ir>n>G-JtA!PMcz%-9X|7oN)a(R}c4^0}LD>7n)H+!+aDpvY0{l&@gx&gS>WH$}9_9?!YUfT2lA=lAHeF9%1H<4gy}_DeKO$2Q5d<W@VlE9ZD+ETT>tZI3?Kn&8SrvUhQ{`Q`&$b#Qh7s^I-Gl?5Z&#W(jT$W~to%{U$y z^U6fr%VXwaY|P#`7HoQINceOKZD5#DOu$?a<1;f7yBMC2%@jo!>2zypXj*E!tTZNl zBlwId(SH_|gMm$W)6?Kz9=2`fwV6HPL7D)$h&hmyn!;3D`s4Acc5k zF)Z^79-n;llvPH6xPfODQ!}b_GMN(Tut`>-q^yPs1 zQZiayS?y}ll+#9k5)wJNxk7Y6v)l%A7+?rKY?m{7lvT@Un3EO3`RdapSwDCt(L+ z&odC6L=M2DWbS#roeDe!IE|JGgZgoYg5!bPc7#Xuw05gOXVKM_G8_xFA$NP|ZW=5) z_GGMSlPGyj%3cE&<9Wef**MppV&F`aRRDBAY*JaZI-jC_ z)gGz%Gl%q%S<92qxDTQ5PsOr}=&*^@jmeQM%Q1Hr#^0QgXPZFou)3wA&VSb=FME{WW_z&UtU7aojbpop29}pK4ZQgc z7EvbUta;y8AJko`4zr)Ao_@Lf`5Rdk1;1Xf?HNsvZ06|YgsT5NS9BTkG4 zM%!?K8xDK)+na40L7_wM1-IX}xF2%?!I*%M7E-l=yd_t0xftJSfe1fuQkpGAP1Ig( z9Qw|?i$0)p=Bp@OV>O918#WlPtcv*K)2gG|e11!S9hUajn_f@o{fxWQXrOI)=7dFx0R20d!Ax$(3=%E=Gd%66 z=5@UTNI2?Pz(gbDx%U3Xv1q}YNCg4MccP^SaWv3A3^W#T?P-XFxlanQ60Fowg>VIA*52a4&TR zeG?$y(UDQ2Z@5lpJo3pq`obUHza)TbQ?Ny zU7tML7|4}$p;iFam0>e%N{?;(o*oL(G%5YK1dQo~sOzg)CF%T<6yG?$v830EE(kGX zb^holSnguJS>H%yb}Cwhh?U>5_1dpk^eY_;dvsm42aT*e{w?}*J8 z8_bmt-V7pyoEP3ER>V^qHZ&h@g(g&2+&$1)7n~8x2Mu+Q=s6D5W?Eh@YrDQS<%L(D z&2=e&(JIBsI1Q>;f6JHbJ=fh_h3SHdeaF97yL}BS|2hBDm6#^U!f_G{F4Zi|{%Vv| zb8RUkig!T#?urm|-*nx%0pSsJ0?&Z1_IlmFnKVrs6C*^#rL2TqZb$b2@-8PQVTVk> zna(gLS9R+v)@zhjOJUyc@#U_*gHhMbV8@O{;BRPn80^<|Y)DP~l%|rtL3(23u+z`x zaF~!TR*kZ{Zl&7WyiM?QY}5Q2m|j=P*H<~IVXWpVI;K(uUX_F9^15p7D_*`2PP!tS zNl}{W_Bl=B4~-vgg8G3;#ub% zwy346hDBsJg}Ud+gG@}^Mb}bb3lF5O1^-98?r47S%wK&UQGAcI{}T@S=Ic`<)Dh~{ z{9R6g1%NkJaR2OC>CKA1=X(S_oOx(0W1!zgC>Sv~Ytu5~tFyuu1a2`yw6NX2$DIi? z`W5<8GM1BZulT&}u&(Ybmpy&9m>(up0x$}79IZfukyYNOwv4ZYA&EQ?8Q;S(vk>*h zMO-~SbrF={(3f>cZ1rzXq(}0%q}@~MX9Q11Ocp^yyN3+n&E z?ss!-u+kBF91gIYAb{tx`=ABSB_03ao!;BtJ&j--D$hRaIH`OlF4){joRXQfn;STidDfhbMdV>D&E`7f-dG zdwLlu$3@A6#hceZvKTvb?V0x^O+`|=Apj5WSk+!-J@>Bgym}(IP0#zmvi7FrgoPRG zZo0Y44FRs6iHf^l@l7LB=iJHXL<>A|t+_%j>h;UtnXnpGMj~~+(nkx{&DRidTAi(g zvdo-|Lo~Xi;Qep(JIK4akPHcnAM$EVp1@yqBI@|fFaj5#ZTL}jcqn?v&x2JQ@E{2U}oRgy)a<=DfXPj2qZJ!eGM7%Tw)Zq0*kzEXPfk3WW?q5 zk9?3hU8#0YOjKr&_{4}1+MklC8>zw z2R%MMEpU+k;i(J&#nIH#$stYQ!Ftf)j5mZ-8&g#q34|uJA*UsB)4Otc^mH>4ug=M` zvMhilL^b_L=LNjP%>y!2hD}2XNLKl-L8@OfslFqb^8hXl)wnD*!xgbOj zAJDnYrc6yXG^Yf`Y5H!@(WScT@ab0jLgdFL#CJ9o0N@R~HhzC^@19EQ<^i2AWyG7ab%~dR+u|@M<+L(q2L&yw=(jk+lz+1V|WdAcwQp zVE{QF8_{_?MXU73Kr?RjRQ|rbCI}2vt@mCjc^lB_!&gQt?-n;Va0}Bl(|JW_0IOlN z(%@NkfT9hzK@8?hllRJfc68mTVA&i$AJ0(?mq;4794_NZS56Q5ObAq^dp@)!Ptw?L zrmkd4uUObJ>O>HJksjp)<#0yadv3ydIsO|B;X3csG`!6I&KDjWgD}{+Gt_UptlixM4qoheHYVY_=wMk>S%w-{<8~xy++iOleX{pymP&?=^*Cm>8=a5sKgATQe+G^b4@ zvABX(Cw;cTNFQ1AVk?9^A5UMhyLLZSn+AgzqneX3i2xp@&GL;p9_uy~vgmfFVPW(CS|_trgmd$O< zSXbJ;gw_j2ePFRqw6uFG5L42%9G?D`n9%nUj8lv!M{*a3c0t1)!?Yw$QirN{+aUg+kG$1)l+79 zMj+Z|2v`!_3i{jobhp~wALKbJE?deScX``NMIONN?|O?wzJP(LPqS#H7p;2TyjU0y z!0){33Dgr(JIvU!AX|R*)NqdhS;JOj+Jui*NV6haDWrH`c4Bfk`7apDfps;I=*~g+KXBq=%?jmqVF&- zhu@m5$yNzg;1{Z41>GQ5jXNfb;g71KYap>C9}dASk|7-z;p@JhE_gE<79eEm1IGaA z4^O;(7s2f|v+})CE^_^sk`a5r!%z+^N8HjQtDs`;0nnLvHTT1!)gI#UGkK1(QmaW) zR7?V+v8iNHA+{h;T;wjta5P%pM5~#lFoq2>vW|*W2t%Rez{Rp9eQNJ+NF(iQe2Zyb zMKY1}6f0Lrn zkENf!2gL9t!(f#+K0*>g8s<@aVE%I$31T|XQ|W!KH05~!yT#2`8V!Bv4n_CwJDc1` zIS#H5w!x*_Z|>-S%lhUBna%!ylaAW$tKL)fXcjwXz^k>uvGY|{tQj$LVDYjP}+c}lN{vj=4@Q%oz=& zgZaJco2BK-FsEM%0e2@w5IviVd%NS|ih7zos1uMMu~HZ5@qu>wBg4OyUyCrOL|6cF z0j;<6RKg<1Tp|4PL_&F(`UKxEVE|k{lH7(Ub^M{&U;kP|L?gg$oB$y{kt?a6gofyK z2PwP<*ba716JWUkvsLuRBLBBq_NKS1vqxXJgQf?6xx9fg{ktY{+N$YVf?!NlCC>!)&3Oy47+y$|yy1RT%?RjQ z5-W3bXivwcg4AFwDyf|sjGRrr6a!9lALEB(9b?t_-!McShA0p6#lXM+TDF(B^@}5% z%91X+_}f-~gDPXu5gM)*erc7TpH<(a1fKcr;PCG`AhxA~BwcZa0-ENd$*o$O}%-|rwR#|(I z5+K*s%!}bna*^N|m9q)s9L#dwlG{)847atrHXaManU2+CeH7 zr?bY6O=nAUz(0uq+pz%{_Kn|dwkDfh>$bYlR46&KCVV>fYdPMCZ6TtA;|z2iRT~fg z^5{J~Frz2wrQ!5!uGWvtLeDh*trm0`Qy%FoVvDtj8-ZIJn{?EZNVrd}ExX zQ6F7pK~Ca&AdJzeHrTBQ@{nB$!ty!@gyz5=HM63Xd;+s;!0i`*hw5)oKs5x(+mCqnx@If2`QGyaQH=PyJ( zsYozhp)cRTS7_w%%qHMK+3rz(b4GaGX8Q}e05Q<_N+!3y(IL!HMXTidgurb5a^YM^ zHAOd5LxdHK4E7Iu7_{ch`MN~$;CEC}zf`;&h$v<4K0YQ=Jc@ip^yMFm&27 zXzK$?!muFtz5VT%37Lt@IG{tzSqKd+ZApf!8==m~;UrHO9yX=LRXN8UHBT!C8zpGSLOvd!r%1-OWcuvy!A!Ap42{XQ2$4NaIdkmn{c(Dm!MOP{q)J1GBV}_!u0+ZkJTfvI^f~LVm z{f+J^Rp&{UV@3%ynW{Fk6*IW_UTM<7`I%&G42r}Z4IIo{eH7s|e)~@!O*$aY?7o$A zGUu4LsO>kF0B|vL>!K97FiB;YkMxK%C(Prm_2VYtGi|*NK%HK4KFy<(TaHZwga5Jo zU2RolE>gQ;et=hv+B2D-u}lqIiCGD_B5VS0(*0fl>-Me5dL0I9vO3N#1(x7=vgv`i z$sQ+4W4&jAs8NCkCgnR?B?{ncYVd9_%@tI@N?M4IC|F8>)#O417u^uiQ!Ix+!EkLj<%L-j{nb5v8Ch$_q3D6;4N^(QZ6+t-@8MHB7Avzs?1 zf#Uf0uW4k}XY(#m%oie~Pdi}?m?Cc*#0kr6j)Vgos$E)E3R0kUM>Q-TYWFYq)qJB0 z++qaL)kZhkvK`Wt>xC5`QpL&k?>|o3iiOw3-a?yG4ul&+Dk?`Q4rSv!G)v z+ZQ!fweZpsQ>Z>*sPu8AmL&aAjz?(Du3yM<=QkKv7M&gdJ?ehv^PT$(=&H+T&&=T! zq;v_DmA`vOzkmP_s83ZPjs(!1j;qo1n;Jqn0YQwdLMu%r9&OS=54 z3gd~dSt|8kW2 z*E1-5sn<5rdimNQF_2*{J9y3E0I)*DefZxYBSL4n(4K*Pd+P3pKu__H%#VuY zvGLo`!`Z)BvfJS^BJfiDr=7R2_WdsY8+^IJ%dSg&=k_4gR1eSRMEX7NDvH_xWaFjQ zub%L^O?Qeojsbj?{d5UsY^`b;z{EkoWRoT{w7QT*>!Gb!i#O(?KR-`xSCDS=Ow999 znJkcUBFyF!M2sVn;;M`CN7dY#p7qm-GteawZexFx*}JRN6qppz;H~;5mk&G0!4OMReE3 zQx8Yk>fE!_Pwl^C+~XwRQ5_qE;BnzGf&Lo1594x5){NF|#4)4?PX6;%v z=>=uHQjJqjZgq9{#|<1RE18}+rHY_YJQCG%wd|g>Wc1(7oESQc%G-p+7QeJvMAv&# z3H|=fBHZ6~BqnIFfPo-<)a!%M-6^JFC={2Vh3i;ToRYgygbDEd%+>)-GTYg>o8lgP zJ@%(JVSKmAl#-X7alCzNS;zc_nt++Ckk4L6{zXa zd#kYrW1CpIuSG1%zu+lkN@1foZwg0IfTSLh3PE6ET4Ag*P3aHjlKMDGH-;=-(xqPa z+AE7xfX-Pz7nwE@Kqttoy6EJJG0D8~M&CI>biy+YtQXZ6zSP6i@F&nxc*{4WF@TN@ zG$~8S_5ByMV_;qgUz9Ku3*qE;jTy}132Cl|i`rl+MFxjCjd3%rw1#ZZ+Pl53>ZkT!QgBg+jnZJiin+uJXRuOaWuaW6o?cd#%P6`KsBj@Txin)TB z+S<|Nb!Kn>U4HyaqIiXMuZ4&^3}h`0ly<_hkd-*Vcdt}h$0FZ>gowq4WlPqqijjyF zhX_9yd?Y$+=x=_u&w1&(BcO_`Ey^sdryuHVf1BQ)9WH&Z~M@uofOmuYc7(5qL1n14vZDS8412~%{XlzD=n2KRvW8Z>@12&)f+mAAjOD? zpvR5Hf9~i3NF;w*cca}Q1dk?G`+&OddGd)8!nq3(7 zp}m;ilDZP}HAeiRVL38b=G)wO&DRWYD;hUkB`sylp!iLrAqqJM*)w%ncZ&kR$r1$? zJ!Te3bQx`1x@9nkalO&>o+=m&zDwI;9E&cQwQnJd&itQ+w{FG z>P(Gkv&Y5fbVFmRGB_jH&J%IZ#Vsc+199G31qBe1i`7k|^S@K)rawT_T%=N(Oi%2b z<(>gS3@S=0V3rkTj)V??_@nqww%B8Z^f|*jUb0fGvEcx6e+&-dY4H z1h1I5;wl!#TcgNL9r!G!qxfKNT}7*p>6+KGijWiA5XzzxH}KlOujmU6VwyoV>}?$e z-Na$nskd$Ne6~sGjt-ENBqTAahf#{MF#1I7oko&Yf%qFv4861cKacK^d0`?fq}po` zS)9x^|7jNkndbyJpHufuw4evo(n2O65qHP}5BrwuK}>msCDTx(nB0dovc{Tnz>+#O zQd)}9>O`IjH)B4iNxTF$5{QY)-!SPu9yolmDczo-MFxTH5XxpQnaq^mYFeROmzGkS zf;-=&6wLh7#-SlWA$}#+_4J9x=gCR>gB+j%-WQ${N@bK+t`j*P`hR%2;5pf5KWX-*wsmMaJ%QvJKnEWW&ctc-(josT_jr4394qRnmMF;*gz(W>xcvl*|d2@ z-UZ#(8<&8k;Y#Sh9s8kHD%}tX#ur|Y_3JjXD>N)?UN|h><`!B2b2kMn_;~OXhm%%L zc@C*y)VO|0${T9-)8ICHWo>ZajL(FEB@<5OvGaEZDF?^O`A*bdFhem2IiOdmEwteG z#s5h>UrKHejhf15txXikl2yV)Yyks8^T3AGc&3W}1Qe)z5ryRB0Ew=(@$` zU;>rM%8(S->~gnElLk&>tkR4=V>Cl2Jf9^+-3TB^#y?Va^?|C|q;^e*_646(7A2Q< z=K2lS3x<~ex-)PP`9DW=p%Yq$TpmIxT zjNo68x}uGGygaeTTRfrS1{GlS9E>WzLHbCOY4J1OOC_}lfdX+#8{(YP*6f`;2c<}> zqmiFSVVwl2hb5^E4d)agJx*uwf-@)@ltZN~seb;?NauE6Y$S%PUxsDH!vQbsV+Sc! z4P%Eq=a-Ir%}wM19!;ZxNt7$*r|UKyd%`mf86~XLRN! zho;7pm134ZlX+u#Gwh?SF3A?jOaq>}J)^g^CH;W)Sj;aLN3!0|2$cpq0Of^H)DExn zgxLV#HK@Vc#9{koCpXO4%6=R5v@1vwkdG|ak2QoqcM$(RhB=xM0?tNKQ}gGQ%*0PE zv2EERjEXqL?aG4W&(+KN8L=!gVE9LuFhCi;N6HpFZjG5fttYr2H=OXO3(@8$45RYd zLgg7D6Vxd_XA=_|Peg`rJ5|i6pzi7Vv;+Rr-OHU|xNjd5fG0@S0n&$xu1{1ELx$G( z{^q51@uki<6NssWA+Gc;tyAxHv5I;Ga0<8aWEG^bBN>a>BFr}RZ_}u}Xrn$BGylNR zwSe~z!gX;0ZS@jx`ljD}N?M)nGCW&<$&a6Yex(SWa862b8%BH5g9m$w{mwRKP&Dd* z2;URzbTf!npi{~1o;Rd&wPm|H&d7qTGx7l z1fe*xyRg3CO1;%BpwYO!44l2^s zWG#jP?h)=524-E&z{cdvU)^M_!~ph?z1#vjsM>x{FWwdU-1TCT`O%T7pT4X)*&s}> zQPjeSu#gdb8QPt!JX2ZVY zub(>iuyQ&OtmRMJ!nPM6Svy%`SlI(3!VfC`?9iFegjG2gg_Z9WOPvnexv>71Rp|<$ z$YxfjOU1IliM;3cYe#~`Bvys3N+W9V+CMVQjMO8yuPTy%^_e5|EeVt=&~vQ{cCgC@rj;m#dc@}x z;yoil)2E$3Q)`<*suAOaQglExqgwJIJngpW9816ttAzaV^0W3QVN6Fiyrtv*dF$@L zg@bl8eGe1RwJf>-urnH5Xgl|HQiKH}Frci4@43-*LVBrH-*Q627}=7zVq#(mGSzpV1_Q3XuEOtF2blm&2?R06^3$P0R_3Zzz z=Gp^~?ik#CgV2bILXlj8)`(XB@%x%}-yk(_bmRmoM{p>j;|J+$^Vrao7Wpi}N^mF+ z=rIFsFg&62m$%EZ(S``=tSxfJ?m{(#-?Jbpi+0!ro$?G}|3FO2V}y4u!6{x5-R><4Biu%h=P*scIcN1#0q#bQJ<+!wnK*I+ndxo7i?oqd$$L<-&-$F&b5g zZysIWn?iqVVS$;ljJ8nb0C9)iZ6!4t8K0G9t>#J6_%T3)zCMg-?v}B#e^HhJ99=+7 zrUWgQk?!*=S38;jPTuW>YVnPJ2@8wP=Y&QM+nty1IoIJB>p$Q+mk4PU8G`17(@lU~tpB={9}_E!@t0bzP$(IoJd=k^v5XF@fXy9Ab1 zKTy>&4LX}KuRK}oIY?1+1fqI4ze0W=Kx+fH^b0ehEUuM&+V*K)p<{8_755+bc>yZA zFn?Dc(U+b#^1-#}U(4jZMlshX&w5{T)&HEiRo->7%_(>V(*zIQdi3(N1|){3qeS1Qp_?O z4QVkyQhj1^NLjncD%&S?LR|ukc9zZ^&RT7RiAPY)3sUN(vMWs(wWaVnPovgQFdE_D z_~o~nc-qrsq2eHAO

Z(gVq4JXR)k|o(XTilpsBe*zp1h08ckFjx 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 Date: Fri, 23 Feb 2024 20:14:21 +0100 Subject: [PATCH 47/64] removed build --- lib/index.js | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 lib/index.js diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index bcb88fd..0000000 --- a/lib/index.js +++ /dev/null @@ -1,2 +0,0 @@ -'use strict' -console.log('hello world') From 89757589844fee4bbe3775c7b61b75dee14095ea Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Fri, 23 Feb 2024 20:15:10 +0100 Subject: [PATCH 48/64] tests passed --- tests/utils.test.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/utils.test.ts b/tests/utils.test.ts index e56f872..f0debdb 100755 --- a/tests/utils.test.ts +++ b/tests/utils.test.ts @@ -1,5 +1,5 @@ import { describe, test, expect } from 'vitest' -import { isSubmultiple } from '../src/utils' +import { invalidFilename, isSubmultiple } from '../src/utils' describe('Test Utils Module', () => { test('isSubmultiple', () => { @@ -9,4 +9,16 @@ describe('Test Utils Module', () => { expect(isSubmultiple(10, 4)).toBeFalsy() }) + test('invalidFilename', () => { + // INVALID + const invalidFiles = ['foo/bar', 'foo\u0000bar', 'foo\u001Fbar', 'foo*bar', 'foo:bar', 'AUX', 'com1', 'foo\\bar'] + invalidFiles.forEach(file => { + expect(invalidFilename(file)).toBeTruthy() + }) + // VALID + const validFiles = ['chess.txt', 'chess.jpg', 'chessFolder', 'chessfolder'] + validFiles.forEach(file => { + expect(invalidFilename(file)).toBeFalsy() + }) + }) }) From 48974b87fc63663dc51a10c75bef00bea0f4364f Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 17:40:14 +0100 Subject: [PATCH 49/64] add better error msg if it is a valibot error --- src/errors.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/errors.ts b/src/errors.ts index d9a0c8f..9e02c4d 100755 --- a/src/errors.ts +++ b/src/errors.ts @@ -1,3 +1,5 @@ +import { ValiError } from "valibot" + export class SpliteaError extends Error { constructor(msg: string) { super(msg) @@ -7,6 +9,11 @@ export class SpliteaError extends Error { export const ThrowSpliteaError = (error: any, msg: string): SpliteaError => { if (error instanceof SpliteaError) { return error } + if (error instanceof ValiError) { + const err = error.issues[0].message + console.error(`Error: ${msg} -> ${err}`) + return new SpliteaError(msg + '\n' + err) + } console.error(error) return new SpliteaError(msg + '\n' + String(error)) } From 3425bfc1d2d6f283e6fc30ee852bb7d942df42c0 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 18:56:33 +0100 Subject: [PATCH 50/64] schemas tested --- src/constants.ts | 6 +- src/schemas.ts | 32 ++--- tests/{types.test.ts => schemas.test.ts} | 142 ++++++++++++----------- 3 files changed, 95 insertions(+), 85 deletions(-) rename tests/{types.test.ts => schemas.test.ts} (62%) diff --git a/src/constants.ts b/src/constants.ts index c731867..7eb91b1 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,2 +1,4 @@ -export const MIN_DISTANCE = 0.01 -export const MIN_DIFFERENCE = 0.01 \ No newline at end of file +export const MODES = ['horizontal', 'vertical', 'grid'] as const + +export const MAX_DISTANCE = 0.01 +export const MAX_DIFFERENCE = 0.01 \ No newline at end of file diff --git a/src/schemas.ts b/src/schemas.ts index 2e5fe55..854051e 100644 --- a/src/schemas.ts +++ b/src/schemas.ts @@ -13,7 +13,7 @@ export const BufferSchema = v.instance(Buffer) export const JimpSchema = v.instance(Jimp) export const ImageExistsSchema = v.string([ - v.custom((file) => !fs.existsSync(file), 'This image does not exists') + v.custom((file) => fs.existsSync(file), 'This image does not exists') ]) export const ImageSchema = v.union([ImageExistsSchema, BufferSchema]) @@ -33,10 +33,10 @@ export const SizeSchema = v.object({ export const ModeSchema = v.picklist(MODES) export const UniqueSchema = v.object({ - enable: v.optional(BooleanSchema, false), - distance: v.optional(v.number([v.minValue(0), v.maxValue(1)]), MAX_DISTANCE), - difference: v.optional(v.number([v.minValue(0), v.maxValue(1)]), MAX_DIFFERENCE), - requirement: v.optional(v.picklist(['one', 'both']), 'both') + enable: v.fallback(BooleanSchema, false), + distance: v.fallback(v.number([v.minValue(0), v.maxValue(1)]), MAX_DISTANCE), + difference: v.fallback(v.number([v.minValue(0), v.maxValue(1)]), MAX_DIFFERENCE), + requirement: v.fallback(v.picklist(['one', 'both']), 'both') }) export const TilesSchema = v.object({ @@ -45,13 +45,13 @@ export const TilesSchema = v.object({ columns: v.optional(NaturalSchema), width: v.optional(NaturalSchema), height: v.optional(NaturalSchema), - unique: v.optional(UniqueSchema, {}), + unique: v.fallback(UniqueSchema, { enable: false, distance: MAX_DISTANCE, difference: MAX_DIFFERENCE, requirement: 'both' }), }) export const HorizontalTilesSchema = v.object( { - columns: v.optional(NaturalSchema, 0), - width: v.optional(NaturalSchema, 0), + columns: v.fallback(NaturalSchema, 0), + width: v.fallback(NaturalSchema, 0), size: SizeSchema }, [ @@ -67,8 +67,8 @@ export const HorizontalTilesSchema = v.object( export const VerticalTilesSchema = v.object( { - rows: v.optional(NaturalSchema, 0), - height: v.optional(NaturalSchema, 0), + rows: v.fallback(NaturalSchema, 0), + height: v.fallback(NaturalSchema, 0), size: SizeSchema }, [ @@ -84,15 +84,15 @@ export const VerticalTilesSchema = v.object( export const GridTilesSchema = v.object( { - columns: v.optional(NaturalSchema, 0), - rows: v.optional(NaturalSchema, 0), - width: v.optional(NaturalSchema, 0), - height: v.optional(NaturalSchema, 0), + columns: v.fallback(NaturalSchema, 0), + rows: v.fallback(NaturalSchema, 0), + width: v.fallback(NaturalSchema, 0), + height: v.fallback(NaturalSchema, 0), size: SizeSchema }, [ v.custom(({ columns, rows, width, height }) => [columns, rows, width, height].some(greaterThanZero), 'Provide columns-rows or height-width (px)'), - v.custom(({ columns, rows, width, height }) => xor([columns, rows].every(greaterThanZero), [width, height].every(greaterThanZero)), 'Provide columns-rows or height-width (px), not both'), + v.custom(({ columns, rows, width, height }) => xor( [columns, rows].some(greaterThanZero), [width, height].some(greaterThanZero) ) , 'Provide columns-rows or height-width (px), not both'), v.custom(({ columns, rows, size }) => { if ([columns, rows].every(greaterThanZero)) return isSubmultiple(size.width, columns) && isSubmultiple(size.height, rows) return true @@ -120,7 +120,7 @@ export const TilesCutSchema = v.object( v.custom(({ tileWidth, imageWidth }) => tileWidth <= imageWidth, 'tileWidth cannot be bigger than imageWidth'), v.custom(({ tileWidth, imageWidth }) => isSubmultiple(imageWidth, tileWidth), 'tileWidth has to be a submultiple of imageWidth'), v.custom(({ tileHeight, imageHeight }) => tileHeight <= imageHeight, 'tileHeight cannot be bigger than imageHeight'), - v.custom(({ tileHeight, imageHeight }) => isSubmultiple(tileHeight, imageHeight), 'tileHeight has to be a submultiple of imageHeight'), + v.custom(({ tileHeight, imageHeight }) => isSubmultiple(imageHeight, tileHeight), 'tileHeight has to be a submultiple of imageHeight'), ] ) diff --git a/tests/types.test.ts b/tests/schemas.test.ts similarity index 62% rename from tests/types.test.ts rename to tests/schemas.test.ts index 328776c..e3ee3ce 100644 --- a/tests/types.test.ts +++ b/tests/schemas.test.ts @@ -1,28 +1,22 @@ import { rmdirSync, existsSync } from 'node:fs' +import * as v from 'valibot' import { describe, test, expect } from 'vitest' -import { - Size, SizeSchema, - Tiles, TilesSchema, - HorizontalTiles, HorizontalTilesSchema, - VerticalTiles, VerticalTilesSchema, - GridTiles, GridTilesSchema, - Output, OutputSchema, - TilesCut, TilesCutSchema, -} from '../src/types' -import { MIN_DIFFERENCE, MIN_DISTANCE } from '../src/constants' +import { Size, Tiles, Output, TilesCut } from '../src/types' +import { MAX_DIFFERENCE, MAX_DISTANCE, MODES } from '../src/constants' +import { GridTilesSchema, HorizontalTilesSchema, OutputSchema, SizeSchema, TilesCutSchema, TilesSchema, VerticalTilesSchema } from '../src/schemas' describe('Size', () => { test('test Size', () => { const size: Size = {} as Size - expect(() => SizeSchema.parse(size)).toThrowError() + expect(() => v.parse(SizeSchema, size)).toThrowError() size.width = -1 size.height = 5.0 - expect(() => SizeSchema.parse(size)).toThrowError() + expect(() => v.parse(SizeSchema, size)).toThrowError() size.width = 1.2 - expect(() => SizeSchema.parse(size)).toThrowError() + expect(() => v.parse(SizeSchema, size)).toThrowError() size.width = 1 - expect(() => SizeSchema.parse(size)).not.toThrowError() - expect(SizeSchema.parse(size)).toStrictEqual({ width: 1, height: 5}) + expect(() => v.parse(SizeSchema, size)).not.toThrowError() + expect(v.parse(SizeSchema, size)).toStrictEqual({ width: 1, height: 5}) }) }) @@ -33,8 +27,8 @@ describe('Tiles', () => { width: 0, height: 0, unique: { enable: false, - distance: MIN_DISTANCE, - difference: MIN_DIFFERENCE, + distance: MAX_DISTANCE, + difference: MAX_DIFFERENCE, requirement: 'both' } } @@ -42,14 +36,15 @@ describe('Tiles', () => { test('test Tiles', () => { const tiles : Tiles = {} as Tiles - let result = TilesSchema.safeParse(tiles) + let result = v.safeParse(TilesSchema, tiles) expect(result.success).toBeFalsy(); ['horizontal', 'vertical', 'grid'].forEach(mode => { - tiles.mode = mode - result = TilesSchema.safeParse(tiles) + tiles.mode = mode as typeof MODES[number] + result = v.safeParse(TilesSchema, tiles) const expected = { ...tilesModel, mode } expect(result.success).toBeTruthy() - expect(result?.data).toStrictEqual(expected) + if (result.success) + expect(expected).toMatchObject(result.output) }); }) @@ -57,29 +52,30 @@ describe('Tiles', () => { const mode = 'horizontal' const size = {...sizeModel } const tiles: Tiles = { mode } as Tiles - const horizontal: HorizontalTiles = {...tiles, size} + // const horizontal: HorizontalTiles = {...tiles, size} + const horizontal = {...tiles, size} // Empty columns width - let result = HorizontalTilesSchema.safeParse(horizontal) + let result = v.safeParse(HorizontalTilesSchema, horizontal) expect(result.success).toBeFalsy() // Both columns width horizontal.columns = 1 horizontal.width = 1 - result = HorizontalTilesSchema.safeParse(horizontal) + result = v.safeParse(HorizontalTilesSchema, horizontal) expect(result.success).toBeFalsy() // Just columns horizontal.columns = 10 horizontal.width = 0 - result = HorizontalTilesSchema.safeParse(horizontal) + result = v.safeParse(HorizontalTilesSchema, horizontal) expect(result.success).toBeTruthy() // Just width horizontal.columns = 0 horizontal.width = 5 - result = HorizontalTilesSchema.safeParse(horizontal) + result = v.safeParse(HorizontalTilesSchema, horizontal) expect(result.success).toBeTruthy() // Does not mind rows and height horizontal.rows = 1 horizontal.height = 1 - result = HorizontalTilesSchema.safeParse(horizontal) + result = v.safeParse(HorizontalTilesSchema, horizontal) expect(result.success).toBeTruthy() }) @@ -87,29 +83,30 @@ describe('Tiles', () => { const mode = 'vertical' const size = {...sizeModel } const tiles: Tiles = { mode } as Tiles - const vertical: VerticalTiles = {...tiles, size} + // const vertical: VerticalTiles = {...tiles, size} + const vertical = {...tiles, size} // Empty rows height - let result = VerticalTilesSchema.safeParse(vertical) + let result = v.safeParse(VerticalTilesSchema, vertical) expect(result.success).toBeFalsy() // Both rows height vertical.rows = 1 vertical.height = 1 - result = VerticalTilesSchema.safeParse(vertical) + result = v.safeParse(VerticalTilesSchema, vertical) expect(result.success).toBeFalsy() // Just rows vertical.rows = 10 vertical.height = 0 - result = VerticalTilesSchema.safeParse(vertical) + result = v.safeParse(VerticalTilesSchema, vertical) expect(result.success).toBeTruthy() // Just height vertical.rows = 0 vertical.height = 5 - result = VerticalTilesSchema.safeParse(vertical) + result = v.safeParse(VerticalTilesSchema, vertical) expect(result.success).toBeTruthy() // Does not mind columns and width vertical.columns = 1 vertical.width = 1 - result = VerticalTilesSchema.safeParse(vertical) + result = v.safeParse(VerticalTilesSchema, vertical) expect(result.success).toBeTruthy() }) @@ -117,52 +114,53 @@ describe('Tiles', () => { const mode = 'grid' const size = {...sizeModel } const tiles: Tiles = { mode } as Tiles - const grid: GridTiles = {...tiles, size} + // const grid: GridTiles = {...tiles, size} + const grid = {...tiles, size} // Empty rows+columns + width+height - let result = GridTilesSchema.safeParse(grid) + let result = v.safeParse(GridTilesSchema, grid) expect(result.success).toBeFalsy() // Both rows+columns + width+height grid.rows = 1 grid.columns = 1 grid.width = 1 grid.height = 1 - result = GridTilesSchema.safeParse(grid) + result = v.safeParse(GridTilesSchema, grid) expect(result.success).toBeFalsy() // Just rows+columns grid.rows = 10 grid.columns = 5 grid.width = 0 grid.height = 0 - result = GridTilesSchema.safeParse(grid) + result = v.safeParse(GridTilesSchema, grid) expect(result.success).toBeTruthy() // Just width+height grid.rows = 0 grid.columns = 0 grid.width = 10 grid.height = 5 - result = GridTilesSchema.safeParse(grid) + result = v.safeParse(GridTilesSchema, grid) expect(result.success).toBeTruthy() // Just rows+columns not width or height grid.rows = 10 grid.columns = 5 grid.width = 1 grid.height = 0 - result = GridTilesSchema.safeParse(grid) + result = v.safeParse(GridTilesSchema, grid) expect(result.success).toBeFalsy() grid.width = 0 grid.height = 1 - result = GridTilesSchema.safeParse(grid) + result = v.safeParse(GridTilesSchema, grid) expect(result.success).toBeFalsy() // Just width+height not rows or columns grid.width = 10 grid.height = 5 grid.rows = 1 grid.columns = 0 - result = GridTilesSchema.safeParse(grid) + result = v.safeParse(GridTilesSchema, grid) expect(result.success).toBeFalsy() grid.rows = 0 grid.columns = 1 - result = GridTilesSchema.safeParse(grid) + result = v.safeParse(GridTilesSchema, grid) expect(result.success).toBeFalsy() }) }) @@ -171,30 +169,38 @@ describe('Tiles Cut', () => { test('test Tiles Cut', () => { const tilesCut: TilesCut = {} as TilesCut // Empty - expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + let result = v.safeParse(TilesCutSchema, tilesCut) + expect(result.success).toBeFalsy() tilesCut.imageWidth = 20 tilesCut.imageHeight = 30 tilesCut.tileWidth = 2 tilesCut.tileHeight = 3 // Correct - expect(TilesCutSchema.safeParse(tilesCut).success).toBeTruthy() + result = v.safeParse(TilesCutSchema, tilesCut) + expect(result.success).toBeTruthy() // Bigger than limits tilesCut.tileWidth = tilesCut.imageWidth + 1 tilesCut.tileHeight = 10 - expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + result = v.safeParse(TilesCutSchema, tilesCut) + expect(result.success).toBeFalsy() tilesCut.tileWidth = 10 tilesCut.tileHeight = tilesCut.imageHeight + 1 - expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + result = v.safeParse(TilesCutSchema, tilesCut) + expect(result.success).toBeFalsy() // Not submultiples tilesCut.tileWidth = 0 - expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + result = v.safeParse(TilesCutSchema, tilesCut) + expect(result.success).toBeFalsy() tilesCut.tileWidth = 3 - expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + result = v.safeParse(TilesCutSchema, tilesCut) + expect(result.success).toBeFalsy() tilesCut.tileWidth = 10 tilesCut.tileHeight = 0 - expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + result = v.safeParse(TilesCutSchema, tilesCut) + expect(result.success).toBeFalsy() tilesCut.tileHeight = 9 - expect(TilesCutSchema.safeParse(tilesCut).success).toBeFalsy() + result = v.safeParse(TilesCutSchema, tilesCut) + expect(result.success).toBeFalsy() }) }) @@ -202,23 +208,25 @@ describe('Output', () => { test('Response empty', () => { const output: Output = {} as Output // Empty => buffer response - let result = OutputSchema.safeParse(output) + let result = v.safeParse(OutputSchema, output) expect(result.success).toBeTruthy() - expect(result.data.response).toStrictEqual('buffer') + if (result.success) + expect(result.output.response).toStrictEqual('buffer') }) test('Response buffer', () => { const output: Output = { response: 'buffer'} as Output - let result = OutputSchema.safeParse(output) + let result = v.safeParse(OutputSchema, output) expect(result.success).toBeTruthy() - expect(result.data.response).toStrictEqual('buffer') + if (result.success) + expect(result.output.response).toStrictEqual('buffer') // Add store output.store = { path: './', name: 'store' } - result = OutputSchema.safeParse(output) + result = v.safeParse(OutputSchema, output) expect(result.success).toBeTruthy() output.store.path = 'storeTest' - result = OutputSchema.safeParse(output) + result = v.safeParse(OutputSchema, output) rmdirSync(output.store.path, { recursive: true }) expect(result.success).toBeTruthy() }) @@ -226,15 +234,15 @@ describe('Output', () => { test('Response path', () => { const output: Output = { response: 'path' } as Output // Response = path No store - let result = OutputSchema.safeParse(output) + let result = v.safeParse(OutputSchema, output) expect(result.success).toBeFalsy() // Response = path + Store output.store = { path: './', name: 'store' } - result = OutputSchema.safeParse(output) + result = v.safeParse(OutputSchema, output) expect(result.success).toBeTruthy() output.store.path = 'storeTest' - result = OutputSchema.safeParse(output) + result = v.safeParse(OutputSchema, output) rmdirSync(output.store.path) expect(result.success).toBeTruthy() }) @@ -242,15 +250,15 @@ describe('Output', () => { test('Invalid paths - filenames', () => { const response = 'path' const store = { path: './', name: 'storeTest' } - let output = OutputSchema.parse({ response, store }) - let result = OutputSchema.safeParse(output) + let output = v.parse(OutputSchema, { response, store }) + let result = v.safeParse(OutputSchema, output) expect(result.success).toBeTruthy() // Invalid filenames const invalidFiles = ['foo/bar', 'foo\u0000bar', 'foo\u001Fbar', 'foo*bar', 'foo:bar', 'AUX', 'com1', 'foo\\bar'] invalidFiles.forEach(pattern => { store.name = pattern output = { response, store } - result = OutputSchema.safeParse(output) + result = v.safeParse(OutputSchema, output) expect(result.success).toBeFalsy() }) // Invalid paths @@ -258,7 +266,7 @@ describe('Output', () => { invalidPaths.forEach(pattern => { store.path = pattern output = { response, store } - result = OutputSchema.safeParse(output) + result = v.safeParse(OutputSchema, output) if (existsSync(store.path)) { rmdirSync(store.path, {recursive: true}) } @@ -269,8 +277,8 @@ describe('Output', () => { test('Valid paths - filenames', () => { const response = 'path' const store = { path: 'storePath', name: 'storeFile' } - let output = OutputSchema.parse({ response, store }) - let result = OutputSchema.safeParse(output) + let output = v.parse(OutputSchema, { response, store }) + let result = v.safeParse(OutputSchema, output) expect(result.success).toBeTruthy() rmdirSync(store.path, { recursive: true }) // Valid filenames @@ -278,7 +286,7 @@ describe('Output', () => { validFiles.forEach(pattern => { store.name = pattern output = { response, store } - result = OutputSchema.safeParse(output) + result = v.safeParse(OutputSchema, output) expect(result.success).toBeTruthy() }) rmdirSync(store.path) @@ -287,7 +295,7 @@ describe('Output', () => { validPaths.forEach(pattern => { store.path = pattern output = { response, store } - result = OutputSchema.safeParse(output) + result = v.safeParse(OutputSchema, output) expect(result.success).toBeTruthy() rmdirSync(store.path, {recursive: true}) }) From 1774191ba8cb910ac1c7e8acd4e0faf5159c3be7 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 18:56:57 +0100 Subject: [PATCH 51/64] image tested --- src/image.ts | 11 ++++++----- tests/image.test.ts | 12 +++++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/image.ts b/src/image.ts index ca370da..9eeaf93 100644 --- a/src/image.ts +++ b/src/image.ts @@ -1,15 +1,17 @@ import * as Path from 'node:path' +import * as v from 'valibot' import Jimp from "jimp" import { SpliteaError, ThrowSpliteaError } from "./errors" -import { Image, ImageSchema, Size, SizeSchema, TileCoordinates, Unique } from "./types" +import { Image, Size, TileCoordinates, Unique } from "./types" +import { ImageSchema, SizeSchema } from './schemas' -export const getSize = (image: Jimp): Size => SizeSchema.parse({ width: image.bitmap.width, height: image.bitmap.height}) +export const getSize = (image: Jimp): Size => v.parse(SizeSchema, { width: image.bitmap.width, height: image.bitmap.height}) export const getImage = async (image: Image): Promise<[Jimp, Size]> => { try { - ImageSchema.parse(image) + const i = v.parse(ImageSchema, image) // @ts-ignore - const img = await Jimp.read(image) + const img = await Jimp.read(i) const size: Size = getSize(img) return [img, size] } catch (error) { @@ -50,7 +52,6 @@ export const getUniqueImages = (images: Jimp[], unique: Unique): Jimp[] => { let array = [...images] let uniques: Jimp[] = [] do { - console.log(`Array length ${array.length}`) const image: Jimp = array.shift() as Jimp uniques.push(image) array = array.filter(elem => !areEqualImages(image, elem, unique)) diff --git a/tests/image.test.ts b/tests/image.test.ts index fb70480..2eb26f1 100644 --- a/tests/image.test.ts +++ b/tests/image.test.ts @@ -1,10 +1,12 @@ import { Buffer } from 'node:buffer' import fs from 'node:fs/promises' import path from 'node:path' +import * as v from 'valibot' import { describe, test, expect } from 'vitest' import { SpliteaError } from '../src/errors' -import { TileCoordinates, UniqueSchema } from '../src/types' +import { TileCoordinates } from '../src/types' import { areEqualImages, getSplitImages, getUniqueImages, getImage, getBufferImages, writeImages } from '../src/image' +import { UniqueSchema } from '../src/schemas' const IMG_FOLDER = path.join(__dirname) @@ -42,7 +44,7 @@ describe('Test getImage()', () => { }) describe('Test getSplitImages()', () => { - const unique = UniqueSchema.parse({}) + const unique = v.parse(UniqueSchema, {}) test('Correct splits', async () => { const [img, size] = await getImage(chess.path) @@ -61,7 +63,7 @@ describe('Test getSplitImages()', () => { expect(image.bitmap.height).toBe(tile.height) }) - test('Incorrect splits', async () => { + test.skip('Incorrect splits', async () => { const [img, size] = await getImage(chess.path) const tile: TileCoordinates = { x: 1, y: 1, width: size.width, height: size.height } let tiles = [tile] @@ -82,7 +84,7 @@ describe('Test getSplitImages()', () => { }) describe('Test areEqualImages()', () => { - const unique = UniqueSchema.parse({}) + const unique = v.parse(UniqueSchema, {}) test('Checking Equal Images', async () => { const [ [img, _], [imgSatie, __] ] = await Promise.all([getImage(forest.path), getImage(satie.path)]) @@ -98,7 +100,7 @@ describe('Test areEqualImages()', () => { }) describe('Test getUniqueImages()', () => { - const unique = UniqueSchema.parse({ enable: true }) + const unique = v.parse(UniqueSchema, { enable: true }) test('Unique images', async () => { const [ [iforest, _i1], [imgSatie, _is1] ] = await Promise.all([getImage(forest.path), getImage(satie.path)]) From 20d83e294db2a928766da1a5e04e445d5986b07b Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 19:02:19 +0100 Subject: [PATCH 52/64] output tested --- src/output.ts | 8 +++++--- tests/output.test.ts | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/output.ts b/src/output.ts index 26d5e16..feff865 100644 --- a/src/output.ts +++ b/src/output.ts @@ -1,10 +1,12 @@ -import { ExtensionSchema, Image, Output, OutputSchema } from "./types" +import * as v from 'valibot' +import { Image, Output } from "./types" import Jimp from 'jimp' import { getBufferImages, writeImages } from './image' +import { ExtensionSchema, OutputSchema } from './schemas' export const checkOutput = (output: Output): void => { - OutputSchema.parse(output) + v.parse(OutputSchema, output) } export const getOutput = async (images: Jimp[], output: Output): Promise => { @@ -13,7 +15,7 @@ export const getOutput = async (images: Jimp[], output: Output): Promise { getImage(satie.path), getImage(chess.path) ]).then(response => [response[0][0], response[1][0], response[2][0]]) - const output: Output = OutputSchema.parse({}) + const output: Output = v.parse(OutputSchema, {}) test('response = "buffer", store = undefined', async () => { const buffers = await getOutput(images, output) From 1604006ec76b090b032ebe83478b5b85e63f58d3 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 19:07:46 +0100 Subject: [PATCH 53/64] splitea tested --- src/splitea.ts | 41 ++--- tests/splitea.test.ts | 360 +++++++++--------------------------------- 2 files changed, 94 insertions(+), 307 deletions(-) diff --git a/src/splitea.ts b/src/splitea.ts index 4c9ffb1..f6fbccb 100755 --- a/src/splitea.ts +++ b/src/splitea.ts @@ -1,27 +1,20 @@ -import Jimp from 'jimp' -import { throwError } from './errors' import { Tiles, Output, Image } from './types' -import { readImage } from './image' -import { getTiles, checkTiles } from './tiles' -import { parseOutput } from './output' +import { getImage, getSplitImages } from './image' +import { checkTiles, getTilesCoordinates } from './tiles' +import { checkOutput, getOutput } from './output' - -export const Splitea = async (image: Image, tiles: Tiles, output?: Output): Promise => { - try { - // 1. Check arguments (Image) + Get the image - const [img, size] = await readImage(image) - // 2. Check arguments -> Tiles, Outputs - checkTiles(tiles, size) - parseOutput(output) - // 3. Get the tiles - const newTiles = getTiles(img, size, tiles) - // 4. Get the output - // 5. Return solution - // Check tiles options - // Check output options - const slices = newTiles - return await Promise.resolve(slices) - } catch (error) { - throw throwError(error, 'Problems with Splitea') - } +const Splitea = async (image: Image, tiles: Tiles, output: Output): Promise => { + // 1. Check Image + Get the image + const [img, size] = await getImage(image) + // 2. Check arguments -> Tiles, Outputs + checkTiles(tiles, size) + checkOutput(output) + // 3. everything is fine so get tiles and output + const coordinates = getTilesCoordinates(size, tiles) + const newTiles = getSplitImages(img, size, coordinates, tiles.unique) + const newOutput = await getOutput(newTiles, output) + // 4. Return solution + return newOutput } + +export default Splitea \ No newline at end of file diff --git a/tests/splitea.test.ts b/tests/splitea.test.ts index 4227fcb..b03902b 100755 --- a/tests/splitea.test.ts +++ b/tests/splitea.test.ts @@ -1,296 +1,90 @@ -import path from 'path' -import { areEqualImages, getGridTiles, getHorizontalTiles, getSplitImage, getTiles, getVerticalTiles, readImage, uniqueTiles } from '../src/splitea' -import { SpliteaError } from '../src/errors' -import { Tiles } from '../src/types' -import { Mode } from '../src/enums' -// import Jimp from 'jimp/*' +import fs from 'node:fs/promises' +import path from 'node:path' +import * as v from 'valibot' import { describe, test, expect } from 'vitest' +import { Image } from '../src/types' +import Splitea from '../src' +import { OutputSchema, TilesSchema } from '../src/schemas' -const imgFolder = path.join(__dirname, '..', 'examples') +const IMG_FOLDER = path.join(__dirname) -const imgTest = { - img: path.join(imgFolder, 'forestmap.png'), - imgBad: path.join(imgFolder, 'forestmapp.png'), +const forest = { + path: path.join(IMG_FOLDER, 'forestmap.png'), width: 320, height: 224, - imgSatie: path.join(imgFolder, 'Ericsatie.jpg') + bad: path.join(IMG_FOLDER, 'forestmapp.png'), } -describe('Test Splitea Module', () => { - describe('Read Image', () => { - test('Correct local jpg', async () => { - const [img, size] = await readImage(imgTest.img) - expect(img.bitmap.width).toBe(imgTest.width) - expect(img.bitmap.height).toBe(imgTest.height) - expect(size.width).toBe(imgTest.width) - expect(size.height).toBe(imgTest.height) - }) - - test('Incorrect local jpg', async () => { - await expect(readImage(imgTest.imgBad)).rejects.toThrow(SpliteaError) - }) - }) - - describe('Get Split Image', () => { - test('Correct splites', async () => { - const [img, size] = await readImage(imgTest.img) - let { x, y, w, h } = { x: 0, y: 0, w: size.width, h: size.height } - let newImage = getSplitImage(img, x, y, w, h) - expect(newImage.bitmap.width).toBe(w) - expect(newImage.bitmap.height).toBe(h) - x = size.width / 2 - w = size.width / 2 - y = size.height / 2 - h = size.height / 2 - newImage = getSplitImage(img, x, y, w, h) - expect(newImage.bitmap.width).toBe(w) - expect(newImage.bitmap.height).toBe(h) - }) - - test('Incorrect splites', async () => { - const [img, size] = await readImage(imgTest.img) - let { x, y, w, h } = { x: 1, y: 1, w: size.width, h: size.height } - expect(() => getSplitImage(img, x, y, w, h)).toThrow(SpliteaError) - x = (size.width / 2) + 1 - w = size.width / 2 - y = size.height / 2 - h = size.height / 2 - expect(() => getSplitImage(img, x, y, w, h)).toThrow(SpliteaError) - x = size.width / 2 - // w = size.width / 2 - y = (size.height / 2) + 1 - // h = size.height / 2 - expect(() => getSplitImage(img, x, y, w, h)).toThrow(SpliteaError) - }) - }) - - describe('Get Horizontal Tiles', () => { - test('Providing width & columns', async () => { - const [img, size] = await readImage(imgTest.img) - const width = 1 - const columns = 1 - expect(() => getHorizontalTiles(img, size, width, columns)).toThrow(SpliteaError) - }) - - test('Providing width', async () => { - const [img, size] = await readImage(imgTest.img) - let width = 1 - const columns = 0 - expect(getHorizontalTiles(img, size, width, columns).length).toBe(size.width) - width = size.width - expect(getHorizontalTiles(img, size, width, columns).length).toBe(1) - width = size.width / 2 - expect(getHorizontalTiles(img, size, width, columns).length).toBe(2) - }) - - test('Providing columns', async () => { - const [img, size] = await readImage(imgTest.img) - const width = 0 - let columns = 1 - expect(getHorizontalTiles(img, size, width, columns).length).toBe(columns) - columns = 2 - expect(getHorizontalTiles(img, size, width, columns).length).toBe(columns) - columns = size.width / 2 - expect(getHorizontalTiles(img, size, width, columns).length).toBe(columns) - }) - }) - - describe('Get Vertical Tiles', () => { - test('Providing height & rows', async () => { - const [img, size] = await readImage(imgTest.img) - const height = 1 - const rows = 1 - expect(() => getVerticalTiles(img, size, height, rows)).toThrow(SpliteaError) - }) - - test('Providing height', async () => { - const [img, size] = await readImage(imgTest.img) - let height = 1 - const rows = 0 - expect(getVerticalTiles(img, size, height, rows).length).toBe(size.height) - height = size.height - expect(getVerticalTiles(img, size, height, rows).length).toBe(1) - height = size.height / 2 - expect(getVerticalTiles(img, size, height, rows).length).toBe(2) - }) - - test('Providing rows', async () => { - const [img, size] = await readImage(imgTest.img) - const height = 0 - let rows = 1 - expect(getVerticalTiles(img, size, height, rows).length).toBe(rows) - rows = 2 - expect(getVerticalTiles(img, size, height, rows).length).toBe(rows) - rows = size.width / 2 - expect(getVerticalTiles(img, size, height, rows).length).toBe(rows) - }) - }) - - describe('Get Grid Tiles', () => { - test('Providing invalid width-height and rows-columns', async () => { - const [img, size] = await readImage(imgTest.img) - let width = 1 - let height = 1 - let rows = 1 - let columns = 1 - let error = new SpliteaError('It needs to provide "rows & columns" or "width & height" but not both of them') - expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) - width = 1 - height = 0 - rows = 0 - columns = 1 - error = new SpliteaError('It needs to provide "columns" or "width" but not both of them') - expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) - width = 0 - height = 1 - rows = 1 - columns = 0 - error = new SpliteaError('It needs to provide "rows" or "height" but not both of them') - expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) - width = 0 - height = 1 - rows = 0 - columns = 0 - error = new SpliteaError('Missing "width"') - expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) - width = 1 - height = 0 - rows = 0 - columns = 0 - error = new SpliteaError('Missing "height"') - expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) - width = 0 - height = 0 - rows = 0 - columns = 1 - error = new SpliteaError('Missing "rows"') - expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) - width = 0 - height = 0 - rows = 1 - columns = 0 - error = new SpliteaError('Missing "columns"') - expect(() => getGridTiles(img, size, width, height, rows, columns)).toThrow(error) - }) +const satie = { + path: path.join(IMG_FOLDER, 'Ericsatie.jpg'), + width: 2651, + height: 3711, +} - test('Providing width-height', async () => { - const [img, size] = await readImage(imgTest.img) - const rows = 0 - const columns = 0 - let width = size.width - let height = size.height - let images = 1 - expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) - width = size.width / 2 - height = size.height / 2 - images = 4 - expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) - width = size.width - height = size.height / 2 - images = 2 - expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) - width = size.width / 2 - height = size.height - // images = 2 - expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) - }) +const chess = { + path: path.join(IMG_FOLDER, 'chess.png'), + width: 720, + height: 720, +} - test('Providing rows-columns', async () => { - const [img, size] = await readImage(imgTest.img) - const width = 0 - const height = 0 - let columns = 1 - let rows = 1 - let images = 1 - expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) - columns = 2 - // rows = 1 - images = 2 - expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) - columns = 1 - rows = 2 - // images = 2 - expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) - columns = 2 - // rows = 2 - images = 4 - expect(getGridTiles(img, size, width, height, rows, columns).length).toBe(images) - }) +describe('Splitea Grid', () => { + const image: Image = chess.path + const tiles = v.parse(TilesSchema, { + mode: 'grid', + rows: 8, columns: 8, }) - - describe('Get Tiles', () => { - // test('Invalid mode', async () => { - // const [img, size] = await readImage(imgTest.img) - // const tiles = { mode: undefined } - // let error = new SpliteaError('No mode defined') - // expect(() => getTiles(img, size, tiles)).toThrow(error) - // tiles.mode = null - // error = new SpliteaError('Invalid mode') - // expect(() => getTiles(img, size, tiles)).toThrow(error) - // tiles.mode = 'jrid' - // expect(() => getTiles(img, size, tiles)).toThrow(error) - // }) - - test('Mode Horizontal', async () => { - const [img, size] = await readImage(imgTest.img) - const tiles: Tiles = { mode: Mode.Horizontal } - expect(() => getTiles(img, size, tiles)).toThrow(SpliteaError) - tiles.columns = 4 - expect(getTiles(img, size, tiles).length).toBe(tiles.columns) - tiles.columns = undefined - tiles.width = size.width / 2 - expect(getTiles(img, size, tiles).length).toBe(2) - }) - - test('Mode Vertical', async () => { - const [img, size] = await readImage(imgTest.img) - const tiles: Tiles = { mode: Mode.Vertical } - expect(() => getTiles(img, size, tiles)).toThrow(SpliteaError) - tiles.rows = 4 - expect(getTiles(img, size, tiles).length).toBe(tiles.rows) - tiles.rows = undefined - tiles.height = size.height / 2 - expect(getTiles(img, size, tiles).length).toBe(2) - }) - - test('Mode Grid', async () => { - const [img, size] = await readImage(imgTest.img) - const tiles: Tiles = { mode: Mode.Grid } - expect(() => getTiles(img, size, tiles)).toThrow(SpliteaError) - tiles.rows = 4 - tiles.columns = 2 - expect(getTiles(img, size, tiles).length).toBe(tiles.rows * tiles.columns) - tiles.rows = undefined - tiles.columns = undefined - tiles.width = size.width / 2 - tiles.height = size.height / 2 - expect(getTiles(img, size, tiles).length).toBe(4) - }) + const store = { + path: path.join(IMG_FOLDER, 'chessFolder'), + name: 'chessTest', + } + const output = v.parse(OutputSchema, {}) + output.response = 'path' + output.store = store + + test('chess grid', async () => { + const imgs = await Splitea(image, tiles, output) + const rows = tiles.rows as number + const columns = tiles.columns as number + expect(imgs).toHaveLength(rows * columns) + await Promise.all(imgs.map(async (img) => { + expect(() => fs.stat(img)).not.toThrowError() + // await fs.rm(img) + })) + await fs.rmdir(store.path, {recursive: true}) }) - describe('Unique tiles', () => { - test('Test areEqualImages', async () => { - const [img, _] = await readImage(imgTest.img) - const [imgSatie, __] = await readImage(imgTest.imgSatie) - // Equals - expect(areEqualImages(img, img)).toBeTruthy() - expect(areEqualImages(imgSatie, imgSatie)).toBeTruthy() - // Differents - expect(areEqualImages(img, imgSatie)).toBeFalsy() - expect(areEqualImages(imgSatie, img)).toBeFalsy() - }) - - test('uniqueTiles', async () => { - const [img1, _i1] = await readImage(imgTest.img) - const [img2, _i2] = await readImage(imgTest.img) - const [imgSatie1, _is1] = await readImage(imgTest.imgSatie) - const [imgSatie2, _is2] = await readImage(imgTest.imgSatie) - const uniques = uniqueTiles([img1, imgSatie1, img2, imgSatie2]) - expect(uniques.length).toBe(2) - const i1 = uniques[0] - const is1 = uniques[1] - expect(areEqualImages(i1, img1)).toBeTruthy() - expect(areEqualImages(is1, imgSatie1)).toBeTruthy() - }) - }) + test('chess grid unique', async () => { + tiles.unique.enable = true + const imgs = await Splitea(image, tiles, output) + expect(imgs).toHaveLength(22) + await Promise.all(imgs.map(async (img) => { + expect(() => fs.stat(img)).not.toThrowError() + await fs.rm(img) + })) + await fs.rmdir(store.path, {recursive: true}) + }, 100000) + + test('chess grid unique tunning requirement', async () => { + tiles.unique.enable = true + tiles.unique.difference = 0.15 + tiles.unique.distance = 0.15 + + tiles.unique.requirement = 'both' + let imgs = await Splitea(image, tiles, output) + expect(imgs).toHaveLength(11) + await Promise.all(imgs.map(async (img) => { + expect(() => fs.stat(img)).not.toThrowError() + await fs.rm(img) + })) + await fs.rmdir(store.path, {recursive: true}) + + tiles.unique.requirement = 'one' + imgs = await Splitea(image, tiles, output) + expect(imgs).toHaveLength(3) + await Promise.all(imgs.map(async (img) => { + expect(() => fs.stat(img)).not.toThrowError() + await fs.rm(img) + })) + await fs.rmdir(store.path, {recursive: true}) + }, 100000) }) From 31d4229d695ad6dac3334bfec9d8325b61c2aa6f Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 19:08:03 +0100 Subject: [PATCH 54/64] forgot to commit before --- src/tiles.ts | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/tiles.ts b/src/tiles.ts index e2c819c..aad699d 100644 --- a/src/tiles.ts +++ b/src/tiles.ts @@ -1,16 +1,18 @@ +import * as v from 'valibot' import { Size, - Tiles, TilesSchema, - HorizontalTilesSchema, HorizontalTiles, - VerticalTilesSchema, VerticalTiles, - GridTilesSchema, GridTiles, - TilesCutSchema, TilesCut, - TileCoordinatesSchema, TileCoordinates, + Tiles, + HorizontalTiles, + VerticalTiles, + GridTiles, + TilesCut, + TileCoordinates, } from "./types" import { ThrowSpliteaError } from "./errors" +import { GridTilesSchema, HorizontalTilesSchema, TileCoordinatesSchema, TilesCutSchema, TilesSchema, VerticalTilesSchema } from './schemas' export const checkTiles = (tiles: Tiles, size: Size): void => { - const { mode } = TilesSchema.parse(tiles) + const { mode } = v.parse(TilesSchema, tiles) const parser = { // Mode horizontal -> Columns || Width 'horizontal': HorizontalTilesSchema, @@ -19,7 +21,7 @@ export const checkTiles = (tiles: Tiles, size: Size): void => { // Mode Grid -> rows + columns || width + height 'grid': GridTilesSchema } - parser[mode].parse({ ...tiles, size }) + v.parse(parser[mode], { ...tiles, size }) } const getCoordinates = (tilesCut: TilesCut): TileCoordinates[] => { @@ -33,7 +35,7 @@ const getCoordinates = (tilesCut: TilesCut): TileCoordinates[] => { // Move by column return arrayX.map((_x, indexX) => { const x = tileWidth * indexX - return TileCoordinatesSchema.parse({ x, y, width: tileWidth, height: tileHeight }) + return v.parse(TileCoordinatesSchema, { x, y, width: tileWidth, height: tileHeight }) }) }).flat() } catch (error) { @@ -42,8 +44,8 @@ const getCoordinates = (tilesCut: TilesCut): TileCoordinates[] => { } const getHorizontalTiles = (tiles: HorizontalTiles): TileCoordinates[] => { - const { width , columns, size } = HorizontalTilesSchema.parse(tiles) - const tilesCut = TilesCutSchema.parse({ + const { width , columns, size } = v.parse(HorizontalTilesSchema, tiles) + const tilesCut = v.parse(TilesCutSchema, { tileWidth: (width > 0) ? width : size.width / columns, tileHeight: size.height, imageWidth: size.width, @@ -53,8 +55,8 @@ const getHorizontalTiles = (tiles: HorizontalTiles): TileCoordinates[] => { } const getVerticalTiles = (tiles: VerticalTiles): TileCoordinates[] => { - const { height, rows, size } = VerticalTilesSchema.parse(tiles) - const tilesCut = TilesCutSchema.parse({ + const { height, rows, size } = v.parse(VerticalTilesSchema, tiles) + const tilesCut = v.parse(TilesCutSchema, { tileWidth: size.width, tileHeight: (height > 0) ? height : size.height / rows, imageWidth: size.width, @@ -64,8 +66,8 @@ const getVerticalTiles = (tiles: VerticalTiles): TileCoordinates[] => { } const getGridTiles = (tiles: GridTiles): TileCoordinates[] => { - const { width, height, rows, columns, size } = GridTilesSchema.parse(tiles) - const tilesCut = TilesCutSchema.parse({ + const { width, height, rows, columns, size } = v.parse(GridTilesSchema, tiles) + const tilesCut = v.parse(TilesCutSchema, { tileWidth: (width > 0) ? width : size.width / columns, tileHeight: (height > 0) ? height : size.height / rows, imageWidth: size.width, From ced92f67777e94f4966a7abf2757aaa133a20258 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 19:13:09 +0100 Subject: [PATCH 55/64] tiles tested --- tests/tiles.test.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/tests/tiles.test.ts b/tests/tiles.test.ts index 81734c5..3ad2bd0 100644 --- a/tests/tiles.test.ts +++ b/tests/tiles.test.ts @@ -1,10 +1,8 @@ import { describe, test, expect } from 'vitest' -import { - Size, - Tiles, TilesSchema, - HorizontalTiles, HorizontalTilesSchema, -} from '../src/types' +import * as v from 'valibot' +import { Size,Tiles } from '../src/types' import { getTilesCoordinates } from '../src/tiles' +import { TilesSchema } from '../src/schemas' const forest = { width: 320, height: 224 } @@ -12,7 +10,7 @@ const satie = { width: 2651, height: 3711 } const chess = { width: 720, height: 720 } -const tilesTest: Tiles = TilesSchema.parse({ mode: 'grid' }) +const tilesTest: Tiles = v.parse(TilesSchema, { mode: 'grid' }) describe('Get Horizontal Tiles', () => { const tilesHorizontal: Tiles = { ...tilesTest, mode: 'horizontal' } From 188e9509f134caf12490f049afc0582488308808 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 19:13:30 +0100 Subject: [PATCH 56/64] named export instead of default --- src/index.ts | 4 ++-- tests/splitea.test.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) mode change 100755 => 100644 src/index.ts diff --git a/src/index.ts b/src/index.ts old mode 100755 new mode 100644 index deef16f..cc5d26d --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,3 @@ -import { Splitea } from './splitea' +import Splitea from './splitea' -export default Splitea +export { Splitea } diff --git a/tests/splitea.test.ts b/tests/splitea.test.ts index b03902b..3c6dacb 100755 --- a/tests/splitea.test.ts +++ b/tests/splitea.test.ts @@ -3,7 +3,7 @@ import path from 'node:path' import * as v from 'valibot' import { describe, test, expect } from 'vitest' import { Image } from '../src/types' -import Splitea from '../src' +import { Splitea } from '../src' import { OutputSchema, TilesSchema } from '../src/schemas' const IMG_FOLDER = path.join(__dirname) From 009ab63dadb0129fa975c5cb5fa8dd5f4a50d96b Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 19:20:28 +0100 Subject: [PATCH 57/64] changed deprecated nodejs rmdir to rm --- tests/splitea.test.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/splitea.test.ts b/tests/splitea.test.ts index 3c6dacb..c34f21f 100755 --- a/tests/splitea.test.ts +++ b/tests/splitea.test.ts @@ -50,7 +50,7 @@ describe('Splitea Grid', () => { expect(() => fs.stat(img)).not.toThrowError() // await fs.rm(img) })) - await fs.rmdir(store.path, {recursive: true}) + await fs.rm(store.path, {recursive: true}) }) test('chess grid unique', async () => { @@ -61,7 +61,7 @@ describe('Splitea Grid', () => { expect(() => fs.stat(img)).not.toThrowError() await fs.rm(img) })) - await fs.rmdir(store.path, {recursive: true}) + await fs.rm(store.path, {recursive: true}) }, 100000) test('chess grid unique tunning requirement', async () => { @@ -76,7 +76,7 @@ describe('Splitea Grid', () => { expect(() => fs.stat(img)).not.toThrowError() await fs.rm(img) })) - await fs.rmdir(store.path, {recursive: true}) + await fs.rm(store.path, {recursive: true}) tiles.unique.requirement = 'one' imgs = await Splitea(image, tiles, output) @@ -85,6 +85,6 @@ describe('Splitea Grid', () => { expect(() => fs.stat(img)).not.toThrowError() await fs.rm(img) })) - await fs.rmdir(store.path, {recursive: true}) + await fs.rm(store.path, {recursive: true}) }, 100000) }) From 8f7b99fe0f6e1f1c4016813d32e64d3da39ec780 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 19:20:42 +0100 Subject: [PATCH 58/64] adding better error --- src/utils.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils.ts b/src/utils.ts index 1583453..af534ad 100755 --- a/src/utils.ts +++ b/src/utils.ts @@ -13,7 +13,7 @@ export const invalidWindowsFilename = (name: string): boolean => { const windowsReservedNameRegex = /^(con|prn|aux|nul|com\d|lpt\d)$/ const invalidWindowsFilename = new RegExp(windowsReservedNameRegex, 'i') const result = invalidWindowsFilename.test(name) - if (result) console.error(`Invalid windows filename ${name}`) + if (result) console.error(`Invalid windows filename "${name}"`) return result } @@ -22,7 +22,7 @@ export const invalidUnixFilename = (name: string): boolean => { const filenameReservedRegex = /[<>:"/\\|?*\u0000-\u001F]/ const invalidFilename = new RegExp(filenameReservedRegex, 'g') const result = invalidFilename.test(name) - if (result) console.error(`Invalid unix filename ${name}`) + if (result) console.error(`Invalid unix filename "${name}"`) return result } From 7892fde50a091273cdf50454c9ca2e5f372784e3 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 19:28:11 +0100 Subject: [PATCH 59/64] refactor to pass the build --- src/tiles.ts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/tiles.ts b/src/tiles.ts index aad699d..65c7517 100644 --- a/src/tiles.ts +++ b/src/tiles.ts @@ -77,11 +77,7 @@ const getGridTiles = (tiles: GridTiles): TileCoordinates[] => { } export const getTilesCoordinates = (size: Size, tiles: Tiles): TileCoordinates[] => { - const parser = { - 'horizontal': getHorizontalTiles, - 'vertical': getVerticalTiles, - 'grid': getGridTiles - } - // Get coordinates - return parser[tiles.mode]({...tiles, size }) + if (tiles.mode === 'horizontal') return getHorizontalTiles({ ...tiles, size } as HorizontalTiles) + if (tiles.mode === 'vertical') return getVerticalTiles({ ...tiles, size } as VerticalTiles) + return getGridTiles({ ...tiles, size } as GridTiles) } From 5e7d03c71fc1ee0d55cdac0ebabad928d976752b Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 19:47:18 +0100 Subject: [PATCH 60/64] adding types to filename-reserved-regex --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8508bec..6f2718b 100755 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "test:coverage": "vitest --coverage", "lint": "ts-standard", "lint-fix": "ts-standard --fix", - "build": "tsc" + "build": "tsc && cp src/filename-reserved-regex.d.ts lib" }, "dependencies": { "jimp": "^0.22.10", From 1349d83888b3d9118d20d374b78d22985bd2325e Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 20:32:50 +0100 Subject: [PATCH 61/64] removed enable option in output.unique because is too redundant --- src/image.ts | 4 ++-- src/schemas.ts | 4 ++-- src/splitea.ts | 2 +- tests/schemas.test.ts | 1 - tests/splitea.test.ts | 14 +++++++------- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/image.ts b/src/image.ts index 9eeaf93..dd9a9b1 100644 --- a/src/image.ts +++ b/src/image.ts @@ -59,9 +59,9 @@ export const getUniqueImages = (images: Jimp[], unique: Unique): Jimp[] => { return uniques } -export const getSplitImages = (image: Jimp, size: Size, tilesCoordinate: TileCoordinates[], unique: Unique): Jimp[] => { +export const getSplitImages = (image: Jimp, size: Size, tilesCoordinate: TileCoordinates[], unique: Unique | undefined): Jimp[] => { const images = tilesCoordinate.map(tileCoordinates => getSplitImage(image, size, tileCoordinates)) - if (unique.enable && images.length > 1) { return getUniqueImages(images, unique) } + if (unique && images.length > 1) { return getUniqueImages(images, unique) } return images } diff --git a/src/schemas.ts b/src/schemas.ts index 854051e..61d3a3f 100644 --- a/src/schemas.ts +++ b/src/schemas.ts @@ -33,7 +33,7 @@ export const SizeSchema = v.object({ export const ModeSchema = v.picklist(MODES) export const UniqueSchema = v.object({ - enable: v.fallback(BooleanSchema, false), + // enable: v.fallback(BooleanSchema, false), distance: v.fallback(v.number([v.minValue(0), v.maxValue(1)]), MAX_DISTANCE), difference: v.fallback(v.number([v.minValue(0), v.maxValue(1)]), MAX_DIFFERENCE), requirement: v.fallback(v.picklist(['one', 'both']), 'both') @@ -45,7 +45,7 @@ export const TilesSchema = v.object({ columns: v.optional(NaturalSchema), width: v.optional(NaturalSchema), height: v.optional(NaturalSchema), - unique: v.fallback(UniqueSchema, { enable: false, distance: MAX_DISTANCE, difference: MAX_DIFFERENCE, requirement: 'both' }), + unique: v.optional(UniqueSchema), }) export const HorizontalTilesSchema = v.object( diff --git a/src/splitea.ts b/src/splitea.ts index f6fbccb..591ba88 100755 --- a/src/splitea.ts +++ b/src/splitea.ts @@ -11,7 +11,7 @@ const Splitea = async (image: Image, tiles: Tiles, output: Output): Promise { rows: 0, columns: 0, width: 0, height: 0, unique: { - enable: false, distance: MAX_DISTANCE, difference: MAX_DIFFERENCE, requirement: 'both' diff --git a/tests/splitea.test.ts b/tests/splitea.test.ts index c34f21f..7bb2b53 100755 --- a/tests/splitea.test.ts +++ b/tests/splitea.test.ts @@ -4,7 +4,7 @@ import * as v from 'valibot' import { describe, test, expect } from 'vitest' import { Image } from '../src/types' import { Splitea } from '../src' -import { OutputSchema, TilesSchema } from '../src/schemas' +import { OutputSchema, TilesSchema, UniqueSchema } from '../src/schemas' const IMG_FOLDER = path.join(__dirname) @@ -54,7 +54,7 @@ describe('Splitea Grid', () => { }) test('chess grid unique', async () => { - tiles.unique.enable = true + tiles.unique = v.parse(UniqueSchema, {}) const imgs = await Splitea(image, tiles, output) expect(imgs).toHaveLength(22) await Promise.all(imgs.map(async (img) => { @@ -65,11 +65,11 @@ describe('Splitea Grid', () => { }, 100000) test('chess grid unique tunning requirement', async () => { - tiles.unique.enable = true - tiles.unique.difference = 0.15 - tiles.unique.distance = 0.15 - - tiles.unique.requirement = 'both' + tiles.unique = v.parse(UniqueSchema, { + difference: 0.15, + distance: 0.15, + requirement: 'both', + }) let imgs = await Splitea(image, tiles, output) expect(imgs).toHaveLength(11) await Promise.all(imgs.map(async (img) => { From 429f619e75f118c55efbc57db00724337b5f3144 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 20:33:26 +0100 Subject: [PATCH 62/64] full readme with final api --- README.md | 86 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 61 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 6538241..009fe7e 100755 --- a/README.md +++ b/README.md @@ -2,28 +2,64 @@ [![Node.js CI](https://github.com/crisconru/splitea/actions/workflows/node.js.yml/badge.svg)](https://github.com/crisconru/splitea/actions/workflows/node.js.yml) -Is a tool to split images. The code is based on [image-splitter](https://github.com/achimoraites/image-splitter) code. - -The idea is that you tell to the lib what source image to use and: - -- N images per row and M images per colum -> You get image splitted into N x M images. -- N px per row and M px per colum -> You get image splitted into images with N x M px. - -Then you tell if you want to store them and how to return data. - -Inputs are two arguments: - -1. `image` -> Source image => `String` (local file or url) | `Buffer` | `Jimp Object` -2. `options` -> JSON with next properties: - 1. `mode` -> Split mode => `grid` (by default) | `vertical` | `horizontal` - 2. `tiles` -> JSON with properties related to the slices or commonly known as tiles - 1. `rows` -> Number of rows - 2. `columns` -> Number of columns - 3. `width` -> Width in pixels per tile - 4. `height` -> Height in pixels per tile - 5. `unique` -> If you need all tiles or non-repeated => `false` (all tiles by default) | `true` (non-repeated tiles) - 3. `output` -> JSON with properties related to the output / return data and how store it - 1. `data` -> Type of data to be returned => `buffer` (default) | `path` (local path) - 2. `path` -> Local path to save the tiles - 3. `name` -> Preffix name to save the tiles - 4. `extension` -> Supported extension to save tiles => `jpg` | `png` | `bmp` | `gif` | `tiff` +It is a tool to split images into tiles or pieces. The idea is based on the project [image-splitter](https://github.com/achimoraites/image-splitter). + +It has just one entry point with three arguments and the response is an array of tiles: + +- `image`: The image to split. It is a string path or a buffer +- `tiles`: All the information to create the tiles + - `mode`: How to cut the images + - `rows` / `height`: Number of rows to be cut or height in px of each tile + - `columns` / `width`: Number of columns to be cut or width in px of each tile + - `unique`: Options to specify if you just want tiles not repeated + - `distance`: Max distance between tiles to be filtered + - `difference`: Max difference between tiles to be filtered + - `requirement`: Condition to be filtered, one of them or both +- `output`: Information for the created tiles + - `response`: Type of output, an array of Buffer (default) or the path of each tile + - `store`: Information if you want to store the tiles in the computer or not + - `path`: Where to store + - `name`: Filename pattern + - `extension`: Extension of the tiles + +For the tiles there are only these possible combinations: + +- `mode` = `"horizontal"` + (`columns` | `width`) +- `mode` = `"vertical"` + (`rows` | `height`) +- `mode` = `"grid"` + (`columns` + `rows` | `width` + `height`) + +`columns` and `rows` are natural number while `width` and `height` are in pixels. + +For the output the default type is buffer and it is not stored. If you want to store the tiles in the computer you'll have to add store object. + +If you select response as `"path"` you have to add store object too. + +```typecript +import { Splitea } from splitea + +type Image = string | Buffer + +type Tiles = { + mode: "horizontal" | "vertical" | "grid", + rows?: number, + columns?: number, + width?: number, + height?: number, + unique?: { + distance: number, + difference: number, + requirement: "one" | "both" + } +} + +type Output = { + response: "buffer" | "path", + store?: { + path: string, + name: string, + extension?: "jpg" | "jpeg" | "png" | "bmp" | "gif" | "tiff" + } +} + +const tiles: Promise = await Splitea(image: Image, tiles: Tiles, output: Output) +``` From a4672a904af16d89b375a3d20f6859b0f14a7837 Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 20:33:58 +0100 Subject: [PATCH 63/64] non node lts deprecated versions --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2d69365..2a12762 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: - node-version: [16.x, 18.x] + node-version: [18.x, 20.x] steps: - name: 👍 Checkout From 337d641314b343adeb2a0543c9a7472d807ed2dc Mon Sep 17 00:00:00 2001 From: Cristobal Contreras Rubio Date: Sun, 25 Feb 2024 20:34:07 +0100 Subject: [PATCH 64/64] alpha version is ready --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6f2718b..d62695c 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "splitea", - "version": "1.0.0", + "version": "0.0.1", "description": "Splitea is a utility to split images in different sizes", "author": "Cristóbal Contreras Rubio", "license": "MIT",

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 z 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