From 46ca580de8f07834dd4565e0b88922f9f10ab5dd Mon Sep 17 00:00:00 2001 From: Colin Diesh Date: Thu, 7 Nov 2024 01:06:35 -0500 Subject: [PATCH] Fix RNA-seq stranded arc coloring, change the color of RNA-seq introns, and improve compact rendering (#4639) --- packages/core/util/simpleFeature.ts | 12 - plugins/alignments/package.json | 2 +- .../AlignmentsFeatureDetail.tsx | 3 - .../alignments/src/BamAdapter/BamAdapter.ts | 10 +- .../src/BamAdapter/BamSlightlyLazyFeature.ts | 163 +- .../__snapshots__/BamAdapter.test.ts.snap | 270 +-- .../LinearSNPCoverageDisplay/models/model.ts | 14 +- .../alignments/src/MismatchParser/index.ts | 16 +- .../PileupRPC/methods/GetReducedFeatures.ts | 3 +- .../src/PileupRenderer/makeImageData.ts | 4 + .../src/PileupRenderer/renderAlignment.ts | 8 +- .../PileupRenderer/renderAlignmentShape.ts | 141 +- .../src/PileupRenderer/renderMethylation.ts | 4 +- .../src/PileupRenderer/renderMismatches.ts | 20 +- .../src/PileupRenderer/renderModifications.ts | 5 +- .../PileupRenderer/renderPerBaseLettering.ts | 4 +- .../PileupRenderer/renderPerBaseQuality.ts | 4 +- .../src/PileupRenderer/renderSoftClipping.ts | 11 +- .../SNPCoverageAdapter/SNPCoverageAdapter.ts | 2 +- .../generateCoverageBins.ts | 29 +- .../alignments/src/SNPCoverageAdapter/util.ts | 2 +- .../SNPCoverageRenderer.ts | 41 +- plugins/alignments/src/util.ts | 4 + .../arc/src/LinearPairedArcDisplay/util.ts | 3 +- .../components/AlignmentConnections.tsx | 6 +- .../src/BreakpointSplitView/model.ts | 12 + ...sx-toggle-long-read-arc-display-1-snap.png | Bin 54845 -> 54731 bytes ...t-tsx-color-by-stranded-rna-seq-1-snap.png | Bin 26774 -> 26966 bytes test_data/config_demo.json | 209 ++- yarn.lock | 1665 ++++++++--------- 30 files changed, 1449 insertions(+), 1218 deletions(-) diff --git a/packages/core/util/simpleFeature.ts b/packages/core/util/simpleFeature.ts index 055e00de31..53cb6282bc 100644 --- a/packages/core/util/simpleFeature.ts +++ b/packages/core/util/simpleFeature.ts @@ -11,18 +11,6 @@ export interface Feature { get(name: 'subfeatures'): Feature[] | undefined get(name: string): any - - /** - * Set an item of data. - */ - - set(name: string, val: any): void - - /** - * Get an array listing which data keys are present in this feature. - */ - tags(): string[] - /** * Get the unique ID of this feature. */ diff --git a/plugins/alignments/package.json b/plugins/alignments/package.json index 67f7c6137a..0d5d220ae1 100644 --- a/plugins/alignments/package.json +++ b/plugins/alignments/package.json @@ -36,7 +36,7 @@ "clean": "rimraf dist esm *.tsbuildinfo" }, "dependencies": { - "@gmod/bam": "^2.0.0", + "@gmod/bam": "^3.0.0", "@gmod/cram": "^3.0.3", "@jbrowse/sv-core": "^2.16.1", "@mui/icons-material": "^6.0.0", diff --git a/plugins/alignments/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx b/plugins/alignments/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx index 450ac41419..035de5da3a 100644 --- a/plugins/alignments/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +++ b/plugins/alignments/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx @@ -18,8 +18,6 @@ import Formatter from './Formatter' const SupplementaryAlignments = lazy(() => import('./SupplementaryAlignments')) const LinkedPairedAlignments = lazy(() => import('./LinkedPairedAlignments')) -const omit = ['clipPos', 'flags'] - const AlignmentsFeatureDetails = observer(function (props: { model: AlignmentFeatureWidgetModel }) { @@ -32,7 +30,6 @@ const AlignmentsFeatureDetails = observer(function (props: { - prop.startsWith('_get_') && - prop !== '_get_mismatches' && - prop !== '_get_tags', - ) - .map(methodName => methodName.replace('_get_', '')) - .concat(this.record._tags()), - ), - ] - } - id() { - return `${this.adapter.id}-${this.record.id()}` + return `${this.adapter.id}-${this.record.id}` } get(field: string): any { - const methodName = `_get_${field}` - // @ts-expect-error - if (this[methodName]) { - // @ts-expect-error - return this[methodName]() - } - return this.record.get(field) - } - - _get_refName() { - return this.adapter.refIdToName(this.record.seq_id()) + return field === 'mismatches' + ? getMismatches( + this.record.CIGAR, + this.record.tags.MD as string | undefined, + this.record.seq, + this.ref, + this.record.qualRaw, + ) + : this.fields[field] } parent() { @@ -115,33 +41,62 @@ export default class BamSlightlyLazyFeature implements Feature { return undefined } - pairedFeature() { - return false + get parsedCigar() { + return parseCigar(this.record.CIGAR) } - toJSON(): SimpleFeatureSerialized { + get fields(): SimpleFeatureSerialized { + const r = this.record + const a = this.adapter + const p = r.isPaired() return { - ...Object.fromEntries( - this.tags() - .map(t => [t, this.get(t)]) - .filter(elt => elt[1] !== undefined), - ), + id: this.id(), + start: r.start, + name: r.name, + end: r.end, + score: r.score, + qual: r.qual, + strand: r.strand, + template_length: r.template_length, + flags: r.flags, + tags: r.tags, + refName: a.refIdToName(r.ref_id)!, + CIGAR: r.CIGAR, + seq: r.seq, + type: 'match', + pair_orientation: r.pair_orientation, + next_ref: p ? a.refIdToName(r.next_refid) : undefined, + next_pos: p ? r.next_pos : undefined, + next_segment_position: p + ? `${a.refIdToName(r.next_refid)}:${r.next_pos + 1}` + : undefined, uniqueId: this.id(), } } - _get_mismatches() { - return getMismatches( - this.get('CIGAR'), - this.get('MD'), - this.get('seq'), - this.ref, - this.qualRaw(), - ) + toJSON(): SimpleFeatureSerialized { + return this.fields + } +} + +function cacheGetter(ctor: { prototype: T }, prop: keyof T): void { + const desc = Object.getOwnPropertyDescriptor(ctor.prototype, prop) + if (!desc) { + throw new Error('t1') } - _get_clipPos() { - const cigar = this.get('CIGAR') || '' - return getClip(cigar, this.get('strand')) + const getter = desc.get + if (!getter) { + throw new Error('t2') } + Object.defineProperty(ctor.prototype, prop, { + get() { + const ret = getter.call(this) + Object.defineProperty(this, prop, { value: ret }) + return ret + }, + }) } + +cacheGetter(BamSlightlyLazyFeature, 'fields') +cacheGetter(BamSlightlyLazyFeature, 'parsedCigar') diff --git a/plugins/alignments/src/BamAdapter/__snapshots__/BamAdapter.test.ts.snap b/plugins/alignments/src/BamAdapter/__snapshots__/BamAdapter.test.ts.snap index 1529ea1f7d..b32635fa67 100644 --- a/plugins/alignments/src/BamAdapter/__snapshots__/BamAdapter.test.ts.snap +++ b/plugins/alignments/src/BamAdapter/__snapshots__/BamAdapter.test.ts.snap @@ -4,270 +4,300 @@ exports[`adapter can fetch features from volvox.bam 1`] = ` [ { "CIGAR": "100M", - "MD": "22A32C15T12A15", - "MQ": 37, - "NM": 4, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 4, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5540, "flags": 16, - "length_on_ref": 100, + "id": "test-10158054", "name": "ctgA_5060_5540_1:0:0_3:1:0_15a3", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "TACACTGGTTCGGAGACGGTTCGTGACGAGCGCGCTATATGTCGGCATCTGCGCCGCATGAGCGGCCGCTGACCGGCGGCACGACTAATATAGTGCAAGA", - "seq_length": 100, "start": 5440, "strand": -1, + "tags": { + "MD": "22A32C15T12A15", + "NM": 4, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 4, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-10158054", }, { "CIGAR": "100M", - "MD": "66G33", - "MQ": 37, - "NM": 1, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 1, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5541, "flags": 16, - "length_on_ref": 100, + "id": "test-10158322", "name": "ctgA_4973_5541_1:0:0_1:0:0_1569", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "ACACTGGTTCGGAGACGGTTCATGACGAGCGCGCTATATGTCGGCATCTGCGCCCCATGAGCGGCCCCTGTCCGGCGGCACGAATAATATAGTGCAAGAA", - "seq_length": 100, "start": 5441, "strand": -1, + "tags": { + "MD": "66G33", + "NM": 1, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 1, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-10158322", }, { "CIGAR": "100M", - "MD": "25G23C1C24A23", - "MQ": 37, - "NM": 4, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 4, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5544, "flags": 0, - "length_on_ref": 100, + "id": "test-10158581", "name": "ctgA_5445_5947_3:1:0_2:0:0_2b9", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "CTGGTTCGGAGACGGTTCATGACGACCGCGCTATATGTCGGCATCTGCGTCGCATGAGCGGCCGCTGTCCGGCGGCTCGAATAATATAGTGCAAGAAAAA", - "seq_length": 100, "start": 5444, "strand": 1, + "tags": { + "MD": "25G23C1C24A23", + "NM": 4, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 4, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-10158581", }, { "CIGAR": "100M", - "MD": "42C57", - "MQ": 37, - "NM": 1, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 1, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5553, "flags": 0, - "length_on_ref": 100, + "id": "test-10158847", "name": "ctgA_5454_5906_0:1:0_2:0:0_d8a", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "AGACGGTTCATGACGAGCGCGCTATATGTCGGCATCTGCGCCGCATGAGCGGCCGCTGTCCGGCGGCACGAATAATATAGTGCAAGAAAAACCGAAGACT", - "seq_length": 100, "start": 5453, "strand": 1, + "tags": { + "MD": "42C57", + "NM": 1, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 1, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-10158847", }, { "CIGAR": "100M", - "MD": "49G11G38", - "MQ": 37, - "NM": 2, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 2, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5554, "flags": 0, - "length_on_ref": 100, + "id": "test-12607066", "name": "ctgA_5455_5964_2:0:0_2:0:0_23e2", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "GACGGTTCATGACGAGCGCGCTATATGTCGGCATCTGCGCCCCATGAGCCGCCGCTGTCCGACGGCACGAATAATATAGTGCAAGAAAAACCGAAGACTA", - "seq_length": 100, "start": 5454, "strand": 1, + "tags": { + "MD": "49G11G38", + "NM": 2, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 2, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-12607066", }, { "CIGAR": "100M", - "MD": "22T13C63", - "MQ": 37, - "NM": 2, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 2, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5559, "flags": 16, - "length_on_ref": 100, + "id": "test-12607328", "name": "ctgA_5153_5559_3:0:0_1:1:0_11ac", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "TTCATGACGAGCGCGCTATATGACGGCATCTGCGCCGCATGAGCGGCCGCTGTCCGGCGGCACGAATAATATAGTGCAAGAAAAACCGAAGACTACGGTT", - "seq_length": 100, "start": 5459, "strand": -1, + "tags": { + "MD": "22T13C63", + "NM": 2, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 2, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-12607328", }, { "CIGAR": "100M", - "MD": "35C3G60", - "MQ": 37, - "NM": 2, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 2, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5560, "flags": 0, - "length_on_ref": 100, + "id": "test-12607590", "name": "ctgA_5461_5986_1:1:0_3:0:0_200e", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "TCATGACGAGCGCGCTATATGTCGGCATCTGCGCCGCATCAGCGGCCGCTGTCCGGCGGCACGAATAATATAGTGCAAGAAAAACCGAAGACTACGGTTA", - "seq_length": 100, "start": 5460, "strand": 1, + "tags": { + "MD": "35C3G60", + "NM": 2, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 2, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-12607590", }, { "CIGAR": "100M", - "MD": "100", - "MQ": 37, - "NM": 0, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 0, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5568, "flags": 0, - "length_on_ref": 100, + "id": "test-12607851", "name": "ctgA_5469_5932_0:0:0_2:0:0_6f8", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "AGCGCGCTATATGTCGGCATCTGCGCCCCATGAGCGGCCGCTGTCCGGCGGCACGAATAATATAGTGCAAGAAAAACCGAAGACTACGGTTATATATGAT", - "seq_length": 100, "start": 5468, "strand": 1, + "tags": { + "MD": "100", + "NM": 0, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 0, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-12607851", }, { "CIGAR": "100M", - "MD": "52G43A3", - "MQ": 37, - "NM": 2, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 2, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5594, "flags": 16, - "length_on_ref": 100, + "id": "test-12608107", "name": "ctgA_5079_5594_1:0:0_2:0:0_d64", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "CCCATGAGCGGCCGCTGTCCGGCGGCACGAATAATATAGTGCAAGAAAAACCTAAGACTACGGTTATATATGATGGAACGGCCCTCACAGCATTCTCACA", - "seq_length": 100, "start": 5494, "strand": -1, + "tags": { + "MD": "52G43A3", + "NM": 2, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 2, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-12608107", }, { "CIGAR": "100M", - "MD": "92C7", - "MQ": 37, - "NM": 1, - "X0": 1, - "X1": 0, - "XG": 0, - "XM": 1, - "XO": 0, - "XT": "U", - "clipPos": 0, "end": 5596, "flags": 0, - "length_on_ref": 100, + "id": "test-12608367", "name": "ctgA_5497_6082_1:0:0_2:0:0_b2", + "next_pos": undefined, + "next_ref": undefined, + "next_segment_position": undefined, + "pair_orientation": "", "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17", "refName": "ctgA", "score": 37, "seq": "CATGAGCGGCCGCTGTCCGGCGGCACGAATAATATAGTGCAAGAAAAACCGAAGACTACGGTTATATATGATGGAACGGCCCTCACAGCATTGTAACAGG", - "seq_length": 100, "start": 5496, "strand": 1, + "tags": { + "MD": "92C7", + "NM": 1, + "X0": 1, + "X1": 0, + "XG": 0, + "XM": 1, + "XO": 0, + "XT": "U", + }, "template_length": 0, "type": "match", "uniqueId": "test-12608367", diff --git a/plugins/alignments/src/LinearSNPCoverageDisplay/models/model.ts b/plugins/alignments/src/LinearSNPCoverageDisplay/models/model.ts index 6da467f996..35230dae4c 100644 --- a/plugins/alignments/src/LinearSNPCoverageDisplay/models/model.ts +++ b/plugins/alignments/src/LinearSNPCoverageDisplay/models/model.ts @@ -17,8 +17,7 @@ import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/rendere // locals import { FilterModel, IFilter, getUniqueModificationValues } from '../../shared' -import { createAutorun, modificationColors } from '../../util' -import { randomColor } from '../../util' +import { createAutorun, getColorForModification } from '../../util' // lazies const Tooltip = lazy(() => import('../components/Tooltip')) @@ -111,14 +110,11 @@ function stateModelFactory( * #action */ updateModificationColorMap(uniqueModifications: string[]) { - uniqueModifications.forEach(value => { - if (!self.modificationTagMap.has(value)) { - self.modificationTagMap.set( - value, - modificationColors[value] || randomColor(value), - ) + for (const m of uniqueModifications) { + if (!self.modificationTagMap.has(m)) { + self.modificationTagMap.set(m, getColorForModification(m)) } - }) + } }, })) .views(self => { diff --git a/plugins/alignments/src/MismatchParser/index.ts b/plugins/alignments/src/MismatchParser/index.ts index 4573515930..9d8f5ede15 100644 --- a/plugins/alignments/src/MismatchParser/index.ts +++ b/plugins/alignments/src/MismatchParser/index.ts @@ -213,7 +213,7 @@ export function mdToMismatches( } export function getMismatches( - cigar: string, + cigar?: string, md?: string, seq?: string, ref?: string, @@ -221,7 +221,6 @@ export function getMismatches( ) { let mismatches: Mismatch[] = [] const ops = parseCigar(cigar) - // parse the CIGAR tag if it has one if (cigar) { mismatches = mismatches.concat(cigarToMismatches(ops, seq, ref, qual)) @@ -278,7 +277,7 @@ export function getModificationProbabilities(feature: Feature) { .map(elt => Math.min(1, elt / 50)) } -export function getMethBins(feature: Feature) { +export function getMethBins(feature: Feature, cigarOps: string[]) { const fstart = feature.get('start') const fend = feature.get('end') const fstrand = feature.get('strand') as -1 | 0 | 1 @@ -288,13 +287,12 @@ export function getMethBins(feature: Feature) { const methProbs = new Array(flen) const seq = feature.get('seq') as string | undefined if (seq) { - const ops = parseCigar(feature.get('CIGAR')) const probabilities = getModificationProbabilities(feature) const modifications = getModificationPositions(mm, seq, fstrand) let probIndex = 0 for (const { type, positions } of modifications) { if (type === 'm') { - for (const ref of getNextRefPos(ops, positions)) { + for (const ref of getNextRefPos(cigarOps, positions)) { const prob = probabilities?.[probIndex] || 0 probIndex++ if (ref >= 0 && ref < flen) { @@ -338,8 +336,7 @@ export function getModificationPositions( // this logic also based on parse_mm.pl from hts-specs is that in the // sequence of the read, if we have a modification type e.g. C+m;2 and a - // sequence ACGTACGTAC we skip the two instances of C and go to the last - // C + // sequence ACGTACGTAC we skip the two instances of C and go to the last C for (const type of types) { let i = 0 const positions = [] @@ -459,9 +456,8 @@ export function getClip(cigar: string, strand: number) { : +(endClip.exec(cigar) || [])[1]! || 0 } -export function getTag(f: Feature, tag: string) { - const tags = f.get('tags') - return tags ? tags[tag] : f.get(tag) +export function getTag(feature: Feature, tag: string) { + return feature.get('tags')[tag] } // produces a list of "feature-like" object from parsing supplementary diff --git a/plugins/alignments/src/PileupRPC/methods/GetReducedFeatures.ts b/plugins/alignments/src/PileupRPC/methods/GetReducedFeatures.ts index 4c840c8ca9..ba547ec261 100644 --- a/plugins/alignments/src/PileupRPC/methods/GetReducedFeatures.ts +++ b/plugins/alignments/src/PileupRPC/methods/GetReducedFeatures.ts @@ -8,6 +8,7 @@ import { firstValueFrom } from 'rxjs' import { filterForPairs, getInsertSizeStats } from '../util' import PileupBaseRPC from '../base' import { getTag } from '../../util' +import { getClip } from '../../MismatchParser' // specialized get features to return limited data about alignments export default class PileupGetReducedFeatures extends PileupBaseRPC { @@ -47,7 +48,7 @@ export default class PileupGetReducedFeatures extends PileupBaseRPC { pair_orientation: f.get('pair_orientation'), next_ref: f.get('next_ref'), next_pos: f.get('next_pos'), - clipPos: f.get('clipPos'), + clipPos: getClip(f.get('CIGAR'), f.get('strand')), SA: getTag(f, 'SA'), })), f => f.id, diff --git a/plugins/alignments/src/PileupRenderer/makeImageData.ts b/plugins/alignments/src/PileupRenderer/makeImageData.ts index dddf5d5258..4bffdbe2a6 100644 --- a/plugins/alignments/src/PileupRenderer/makeImageData.ts +++ b/plugins/alignments/src/PileupRenderer/makeImageData.ts @@ -12,6 +12,7 @@ import { import { renderAlignment } from './renderAlignment' import { renderMismatches } from './renderMismatches' import { renderSoftClipping } from './renderSoftClipping' +import { parseCigar } from '../MismatchParser' export type RenderArgsWithColor = RenderArgsDeserializedWithFeaturesAndLayout @@ -49,6 +50,7 @@ export function makeImageData({ const drawSNPsMuted = shouldDrawSNPsMuted(colorBy?.type) const drawIndels = shouldDrawIndels() for (const feat of layoutRecords) { + const cigarOps = parseCigar(feat.feature.get('CIGAR')) renderAlignment({ ctx, feat, @@ -59,6 +61,7 @@ export function makeImageData({ charWidth, charHeight, canvasWidth, + cigarOps, }) renderMismatches({ ctx, @@ -84,6 +87,7 @@ export function makeImageData({ config, theme, canvasWidth, + cigarOps, }) } } diff --git a/plugins/alignments/src/PileupRenderer/renderAlignment.ts b/plugins/alignments/src/PileupRenderer/renderAlignment.ts index 896e42b7a8..fa5b51d274 100644 --- a/plugins/alignments/src/PileupRenderer/renderAlignment.ts +++ b/plugins/alignments/src/PileupRenderer/renderAlignment.ts @@ -18,6 +18,7 @@ export function renderAlignment({ charHeight, defaultColor, canvasWidth, + cigarOps, }: { ctx: CanvasRenderingContext2D feat: LayoutFeature @@ -28,6 +29,7 @@ export function renderAlignment({ charHeight: number defaultColor: boolean canvasWidth: number + cigarOps: string[] }) { const { config, bpPerPx, regions, colorBy, colorTagMap = {} } = renderArgs const { tag = '', type: colorType = '' } = colorBy || {} @@ -43,7 +45,7 @@ export function renderAlignment({ colorTagMap, }) - renderAlignmentShape({ ctx, feat, renderArgs }) + renderAlignmentShape({ cigarOps, ctx, feat, renderArgs }) // second pass for color types that render per-base things that go over the // existing drawing @@ -55,6 +57,7 @@ export function renderAlignment({ region, bpPerPx, canvasWidth, + cigarOps, }) break @@ -69,6 +72,7 @@ export function renderAlignment({ charWidth, charHeight, canvasWidth, + cigarOps, }) break @@ -80,6 +84,7 @@ export function renderAlignment({ bpPerPx, renderArgs, canvasWidth, + cigarOps, }) break @@ -91,6 +96,7 @@ export function renderAlignment({ bpPerPx, renderArgs, canvasWidth, + cigarOps, }) break } diff --git a/plugins/alignments/src/PileupRenderer/renderAlignmentShape.ts b/plugins/alignments/src/PileupRenderer/renderAlignmentShape.ts index f67ec586cd..70dce244d0 100644 --- a/plugins/alignments/src/PileupRenderer/renderAlignmentShape.ts +++ b/plugins/alignments/src/PileupRenderer/renderAlignmentShape.ts @@ -6,40 +6,139 @@ export function renderAlignmentShape({ ctx, feat, renderArgs, + cigarOps, }: { ctx: CanvasRenderingContext2D feat: LayoutFeature renderArgs: RenderArgsDeserialized + cigarOps: string[] }) { const { regions, bpPerPx } = renderArgs const { heightPx, topPx, feature } = feat const region = regions[0]! const s = feature.get('start') const e = feature.get('end') - const [leftPx, rightPx] = bpSpanPx(s, e, region, bpPerPx) + const CIGAR = feature.get('CIGAR') const flip = region.reversed ? -1 : 1 const strand = feature.get('strand') * flip - if (bpPerPx < 10 && heightPx > 5) { - if (strand === -1) { - ctx.beginPath() - ctx.moveTo(leftPx - 5, topPx + heightPx / 2) - ctx.lineTo(leftPx, topPx + heightPx) - ctx.lineTo(rightPx, topPx + heightPx) - ctx.lineTo(rightPx, topPx) - ctx.lineTo(leftPx, topPx) - ctx.closePath() - ctx.fill() - } else { - ctx.beginPath() - ctx.moveTo(leftPx, topPx) - ctx.lineTo(leftPx, topPx + heightPx) - ctx.lineTo(rightPx, topPx + heightPx) - ctx.lineTo(rightPx + 5, topPx + heightPx / 2) - ctx.lineTo(rightPx, topPx) - ctx.closePath() - ctx.fill() + const renderChevrons = bpPerPx < 10 && heightPx > 5 + if (CIGAR) { + if (strand === 1) { + let drawLen = 0 + let drawStart = s + for (let i = 0; i < cigarOps.length; i += 2) { + const opLen = +cigarOps[i]! + const op = cigarOps[i + 1]! + if (op === 'M' || op === 'X' || op === '=' || op === 'D') { + drawLen += opLen + } else if (op === 'N') { + if (drawStart !== drawLen) { + const [leftPx, rightPx] = bpSpanPx( + drawStart, + drawStart + drawLen, + region, + bpPerPx, + ) + const w = rightPx - leftPx + ctx.fillRect(leftPx, topPx, w, heightPx) + } + drawStart += drawLen + opLen + drawLen = 0 + } + } + + if (drawStart !== drawLen) { + const [leftPx, rightPx] = bpSpanPx( + drawStart, + drawStart + drawLen, + region, + bpPerPx, + ) + const w = rightPx - leftPx + + if (renderChevrons) { + ctx.beginPath() + ctx.moveTo(leftPx, topPx) + ctx.lineTo(leftPx, topPx + heightPx) + ctx.lineTo(rightPx, topPx + heightPx) + ctx.lineTo(rightPx + 5, topPx + heightPx / 2) + ctx.lineTo(rightPx, topPx) + ctx.closePath() + ctx.fill() + } else { + ctx.fillRect(leftPx, topPx, w, heightPx) + } + } + } else if (strand === -1) { + let drawLen = 0 + let drawStart = e + for (let i = cigarOps.length - 2; i >= 0; i -= 2) { + const opLen = +cigarOps[i]! + const op = cigarOps[i + 1]! + if (op === 'M' || op === 'X' || op === '=' || op === 'D') { + drawLen += opLen + } else if (op === 'N') { + if (drawLen !== 0) { + const [leftPx, rightPx] = bpSpanPx( + drawStart - drawLen, + drawStart, + region, + bpPerPx, + ) + ctx.fillRect(leftPx, topPx, rightPx - leftPx, heightPx) + } + drawStart -= drawLen + opLen + drawLen = 0 + } + } + + if (drawLen !== 0) { + const [leftPx, rightPx] = bpSpanPx( + drawStart - drawLen, + drawStart, + region, + bpPerPx, + ) + const w = rightPx - leftPx + + if (renderChevrons) { + ctx.beginPath() + ctx.moveTo(leftPx - 5, topPx + heightPx / 2) + ctx.lineTo(leftPx, topPx + heightPx) + ctx.lineTo(rightPx, topPx + heightPx) + ctx.lineTo(rightPx, topPx) + ctx.lineTo(leftPx, topPx) + ctx.closePath() + ctx.fill() + } else { + ctx.fillRect(leftPx, topPx, w, heightPx) + } + } } } else { - ctx.fillRect(leftPx, topPx, rightPx - leftPx, heightPx) + const [leftPx, rightPx] = bpSpanPx(s, e, region, bpPerPx) + if (bpPerPx < 10 && heightPx > 5) { + if (strand === -1) { + ctx.beginPath() + ctx.moveTo(leftPx - 5, topPx + heightPx / 2) + ctx.lineTo(leftPx, topPx + heightPx) + ctx.lineTo(rightPx, topPx + heightPx) + ctx.lineTo(rightPx, topPx) + ctx.lineTo(leftPx, topPx) + ctx.closePath() + ctx.fill() + } else { + ctx.beginPath() + ctx.moveTo(leftPx, topPx) + ctx.lineTo(leftPx, topPx + heightPx) + ctx.lineTo(rightPx, topPx + heightPx) + ctx.lineTo(rightPx + 5, topPx + heightPx / 2) + ctx.lineTo(rightPx, topPx) + ctx.closePath() + ctx.fill() + } + } else { + ctx.fillRect(leftPx, topPx, rightPx - leftPx, heightPx) + } } } diff --git a/plugins/alignments/src/PileupRenderer/renderMethylation.ts b/plugins/alignments/src/PileupRenderer/renderMethylation.ts index 8415cbb034..0913d22a7f 100644 --- a/plugins/alignments/src/PileupRenderer/renderMethylation.ts +++ b/plugins/alignments/src/PileupRenderer/renderMethylation.ts @@ -13,6 +13,7 @@ export function renderMethylation({ bpPerPx, renderArgs, canvasWidth, + cigarOps, }: { ctx: CanvasRenderingContext2D feat: LayoutFeature @@ -20,6 +21,7 @@ export function renderMethylation({ bpPerPx: number renderArgs: RenderArgsWithColor canvasWidth: number + cigarOps: string[] }) { const { regionSequence } = renderArgs const { feature, topPx, heightPx } = feat @@ -33,7 +35,7 @@ export function renderMethylation({ } const fstart = feature.get('start') const fend = feature.get('end') - const { methBins, methProbs } = getMethBins(feature) + const { methBins, methProbs } = getMethBins(feature, cigarOps) function getCol(k: number) { if (methBins[k]) { diff --git a/plugins/alignments/src/PileupRenderer/renderMismatches.ts b/plugins/alignments/src/PileupRenderer/renderMismatches.ts index 7814e2fa5f..ee066b3d52 100644 --- a/plugins/alignments/src/PileupRenderer/renderMismatches.ts +++ b/plugins/alignments/src/PileupRenderer/renderMismatches.ts @@ -42,8 +42,8 @@ export function renderMismatches({ const mismatches = feature.get('mismatches') as Mismatch[] | undefined const heightLim = charHeight - 2 - // extraHorizontallyFlippedOffset is used to draw interbase items, which - // are located to the left when forward and right when reversed + // extraHorizontallyFlippedOffset is used to draw interbase items, which are + // located to the left when forward and right when reversed const extraHorizontallyFlippedOffset = region.reversed ? 1 / bpPerPx + 1 : -1 if (!mismatches) { @@ -142,20 +142,16 @@ export function renderMismatches({ } else if (mismatch.type === 'skip') { // fix to avoid bad rendering note that this was also related to chrome // bug https://bugs.chromium.org/p/chromium/issues/detail?id=1131528 + // // also affected firefox ref #1236 #2750 if (leftPx + widthPx > 0) { // make small exons more visible when zoomed far out const adjustPx = widthPx - (bpPerPx > 10 ? 1.5 : 0) - ctx.clearRect(leftPx, topPx, adjustPx, heightPx) - fillRect( - ctx, - Math.max(0, leftPx), - topPx + heightPx / 2 - 1, - adjustPx + Math.min(leftPx, 0), - 2, - canvasWidth, - '#333', - ) + const l = Math.max(0, leftPx) + const t = topPx + heightPx / 2 - 1 + const w = adjustPx + Math.min(leftPx, 0) + const h = 1 + fillRect(ctx, l, t, w, h, canvasWidth, 'rgb(151,184,201)') } } } diff --git a/plugins/alignments/src/PileupRenderer/renderModifications.ts b/plugins/alignments/src/PileupRenderer/renderModifications.ts index 3eaa8d42aa..cad194ea6f 100644 --- a/plugins/alignments/src/PileupRenderer/renderModifications.ts +++ b/plugins/alignments/src/PileupRenderer/renderModifications.ts @@ -3,7 +3,6 @@ import { getModificationPositions, getModificationProbabilities, getNextRefPos, - parseCigar, } from '../MismatchParser' import { getTagAlt } from '../util' import { fillRect, LayoutFeature } from './util' @@ -27,6 +26,7 @@ export function renderModifications({ bpPerPx, renderArgs, canvasWidth, + cigarOps, }: { ctx: CanvasRenderingContext2D feat: LayoutFeature @@ -34,6 +34,7 @@ export function renderModifications({ bpPerPx: number renderArgs: RenderArgsWithColor canvasWidth: number + cigarOps: string[] }) { const { feature, topPx, heightPx } = feat const { modificationTagMap = {} } = renderArgs @@ -44,10 +45,8 @@ export function renderModifications({ return } const mm = (getTagAlt(feature, 'MM', 'Mm') as string) || '' - const cigar = feature.get('CIGAR') const start = feature.get('start') const strand = feature.get('strand') - const cigarOps = parseCigar(cigar) const probabilities = getModificationProbabilities(feature) const modifications = getModificationPositions(mm, seq, strand) diff --git a/plugins/alignments/src/PileupRenderer/renderPerBaseLettering.ts b/plugins/alignments/src/PileupRenderer/renderPerBaseLettering.ts index 47f17dc96e..ecec413eac 100644 --- a/plugins/alignments/src/PileupRenderer/renderPerBaseLettering.ts +++ b/plugins/alignments/src/PileupRenderer/renderPerBaseLettering.ts @@ -1,5 +1,4 @@ import { bpSpanPx, Region } from '@jbrowse/core/util' -import { parseCigar } from '../MismatchParser' import { fillRect, LayoutFeature } from './util' export function renderPerBaseLettering({ @@ -12,6 +11,7 @@ export function renderPerBaseLettering({ charWidth, charHeight, canvasWidth, + cigarOps, }: { ctx: CanvasRenderingContext2D feat: LayoutFeature @@ -22,11 +22,11 @@ export function renderPerBaseLettering({ charWidth: number charHeight: number canvasWidth: number + cigarOps: string[] }) { const heightLim = charHeight - 2 const { feature, topPx, heightPx } = feat const seq = feature.get('seq') as string | undefined - const cigarOps = parseCigar(feature.get('CIGAR')) const w = 1 / bpPerPx const start = feature.get('start') let soffset = 0 diff --git a/plugins/alignments/src/PileupRenderer/renderPerBaseQuality.ts b/plugins/alignments/src/PileupRenderer/renderPerBaseQuality.ts index dae87601aa..92128c1656 100644 --- a/plugins/alignments/src/PileupRenderer/renderPerBaseQuality.ts +++ b/plugins/alignments/src/PileupRenderer/renderPerBaseQuality.ts @@ -1,5 +1,4 @@ import { bpSpanPx, Region } from '@jbrowse/core/util' -import { parseCigar } from '../MismatchParser' import { fillRect, LayoutFeature } from './util' export function renderPerBaseQuality({ @@ -8,17 +7,18 @@ export function renderPerBaseQuality({ region, bpPerPx, canvasWidth, + cigarOps, }: { ctx: CanvasRenderingContext2D feat: LayoutFeature region: Region bpPerPx: number canvasWidth: number + cigarOps: string[] }) { const { feature, topPx, heightPx } = feat const qual: string = feature.get('qual') || '' const scores = qual.split(' ').map(val => +val) - const cigarOps = parseCigar(feature.get('CIGAR')) const w = 1 / bpPerPx const start = feature.get('start') let soffset = 0 // sequence offset diff --git a/plugins/alignments/src/PileupRenderer/renderSoftClipping.ts b/plugins/alignments/src/PileupRenderer/renderSoftClipping.ts index 7ad73f2516..23197e8c92 100644 --- a/plugins/alignments/src/PileupRenderer/renderSoftClipping.ts +++ b/plugins/alignments/src/PileupRenderer/renderSoftClipping.ts @@ -6,7 +6,7 @@ import { bpSpanPx } from '@jbrowse/core/util' import { Theme } from '@mui/material' // locals -import { Mismatch, parseCigar } from '../MismatchParser' +import { Mismatch } from '../MismatchParser' import { RenderArgsDeserializedWithFeaturesAndLayout } from './PileupRenderer' import { fillRect, getCharWidthHeight, LayoutFeature } from './util' @@ -18,6 +18,7 @@ export function renderSoftClipping({ theme, colorForBase, canvasWidth, + cigarOps, }: { ctx: CanvasRenderingContext2D feat: LayoutFeature @@ -26,6 +27,7 @@ export function renderSoftClipping({ colorForBase: Record theme: Theme canvasWidth: number + cigarOps: string[] }) { const { feature, topPx, heightPx } = feat const { regions, bpPerPx } = renderArgs @@ -41,12 +43,11 @@ export function renderSoftClipping({ } const heightLim = charHeight - 2 - const CIGAR = parseCigar(feature.get('CIGAR')) let seqOffset = 0 let refOffset = 0 - for (let i = 0; i < CIGAR.length; i += 2) { - const op = CIGAR[i + 1]! - const len = +CIGAR[i]! + for (let i = 0; i < cigarOps.length; i += 2) { + const op = cigarOps[i + 1]! + const len = +cigarOps[i]! if (op === 'S') { for (let k = 0; k < len; k++) { const base = seq[seqOffset + k]! diff --git a/plugins/alignments/src/SNPCoverageAdapter/SNPCoverageAdapter.ts b/plugins/alignments/src/SNPCoverageAdapter/SNPCoverageAdapter.ts index 923a0be18f..51c2434745 100644 --- a/plugins/alignments/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +++ b/plugins/alignments/src/SNPCoverageAdapter/SNPCoverageAdapter.ts @@ -84,7 +84,7 @@ export default class SNPCoverageAdapter extends BaseFeatureDataAdapter { end: skip.end, strand: skip.strand, score: skip.score, - xs: skip.xs, + effectiveStrand: skip.effectiveStrand, }, }), ) diff --git a/plugins/alignments/src/SNPCoverageAdapter/generateCoverageBins.ts b/plugins/alignments/src/SNPCoverageAdapter/generateCoverageBins.ts index 7192c19ec8..8c62476e7a 100644 --- a/plugins/alignments/src/SNPCoverageAdapter/generateCoverageBins.ts +++ b/plugins/alignments/src/SNPCoverageAdapter/generateCoverageBins.ts @@ -131,7 +131,8 @@ export default async function generateCoverageBins( if (!seq) { continue } - const { methBins, methProbs } = getMethBins(feature) + const cigarOps = parseCigar(feature.get('CIGAR')) + const { methBins, methProbs } = getMethBins(feature, cigarOps) const dels = mismatches.filter(f => f.type === 'deletion') // methylation based coloring takes into account both reference sequence @@ -233,14 +234,31 @@ export default async function generateCoverageBins( } if (mismatch.type === 'skip') { - const hash = `${mstart}_${mend}_${fstrand}` + const xs = getTag(feature, 'XS') + const ts = getTag(feature, 'ts') + const TS = getTag(feature, 'TS') + let effectiveStrand = 0 + if (xs === '+') { + effectiveStrand = 1 + } else if (xs === '-') { + effectiveStrand = -1 + } else if (ts === '-') { + effectiveStrand = fstrand * -1 + } else if (ts === '+') { + effectiveStrand = fstrand + } else if (TS === '-') { + effectiveStrand = -1 + } else if (TS === '+') { + effectiveStrand = 1 + } + const hash = `${mstart}_${mend}_${effectiveStrand}` if (skipmap[hash] === undefined) { skipmap[hash] = { feature: feature, start: mstart, end: mend, strand: fstrand, - xs: getTag(feature, 'XS') || getTag(feature, 'TS'), + effectiveStrand, score: 0, } } @@ -249,5 +267,8 @@ export default async function generateCoverageBins( } } - return { bins, skipmap } + return { + bins, + skipmap, + } } diff --git a/plugins/alignments/src/SNPCoverageAdapter/util.ts b/plugins/alignments/src/SNPCoverageAdapter/util.ts index 9eab21d732..b71e8d25d3 100644 --- a/plugins/alignments/src/SNPCoverageAdapter/util.ts +++ b/plugins/alignments/src/SNPCoverageAdapter/util.ts @@ -6,7 +6,7 @@ export type SkipMap = Record< start: number end: number strand: number - xs: string + effectiveStrand: number } > diff --git a/plugins/alignments/src/SNPCoverageRenderer/SNPCoverageRenderer.ts b/plugins/alignments/src/SNPCoverageRenderer/SNPCoverageRenderer.ts index 1df7aa0ef0..201957ddcf 100644 --- a/plugins/alignments/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +++ b/plugins/alignments/src/SNPCoverageRenderer/SNPCoverageRenderer.ts @@ -103,13 +103,14 @@ export default class SNPCoverageRenderer extends WiggleBaseRenderer { } const feats = [...features.values()] - const coverage = feats.filter(f => f.get('type') !== 'skip') - const skips = feats.filter(f => f.get('type') === 'skip') // Use two pass rendering, which helps in visualizing the SNPs at higher // bpPerPx First pass: draw the gray background ctx.fillStyle = colorForBase.total! - for (const feature of coverage) { + for (const feature of feats) { + if (feature.get('type') === 'skip') { + continue + } const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx) const w = rightPx - leftPx + fudgeFactor const score = feature.get('score') as number @@ -131,7 +132,10 @@ export default class SNPCoverageRenderer extends WiggleBaseRenderer { // which can be wider than the actual bpPerPx This reduces overdrawing of // the grey background over the SNPs - for (const feature of coverage) { + for (const feature of feats) { + if (feature.get('type') === 'skip') { + continue + } const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx) const score = feature.get('score') as number @@ -210,28 +214,23 @@ export default class SNPCoverageRenderer extends WiggleBaseRenderer { } if (drawArcs) { - for (const f of skips) { - const [left, right] = bpSpanPx( - f.get('start'), - f.get('end'), - region, - bpPerPx, - ) + for (const f of feats) { + if (f.get('type') !== 'skip') { + continue + } + const s = f.get('start') + const e = f.get('end') + const [left, right] = bpSpanPx(s, e, region, bpPerPx) ctx.beginPath() - const str = f.get('strand') as number - const xs = f.get('xs') as string + const effectiveStrand = f.get('effectiveStrand') const pos = 'rgba(255,200,200,0.7)' const neg = 'rgba(200,200,255,0.7)' const neutral = 'rgba(200,200,200,0.7)' - if (xs === '+') { + if (effectiveStrand === 1) { ctx.strokeStyle = pos - } else if (xs === '-') { - ctx.strokeStyle = neg - } else if (str === 1) { - ctx.strokeStyle = pos - } else if (str === -1) { + } else if (effectiveStrand === -1) { ctx.strokeStyle = neg } else { ctx.strokeStyle = neutral @@ -247,12 +246,12 @@ export default class SNPCoverageRenderer extends WiggleBaseRenderer { if (displayCrossHatches) { ctx.lineWidth = 1 ctx.strokeStyle = 'rgba(140,140,140,0.8)' - ticks.values.forEach(tick => { + for (const tick of ticks.values) { ctx.beginPath() ctx.moveTo(0, Math.round(toY(tick))) ctx.lineTo(width, Math.round(toY(tick))) ctx.stroke() - }) + } } return undefined } diff --git a/plugins/alignments/src/util.ts b/plugins/alignments/src/util.ts index 8313836e7b..2eafd6a54a 100644 --- a/plugins/alignments/src/util.ts +++ b/plugins/alignments/src/util.ts @@ -159,3 +159,7 @@ export function randomColor(str: string) { } return `hsl(${sum * 10}, 20%, 50%)` } + +export function getColorForModification(str: string) { + return modificationColors[str] || randomColor(str) +} diff --git a/plugins/arc/src/LinearPairedArcDisplay/util.ts b/plugins/arc/src/LinearPairedArcDisplay/util.ts index aa23ccd51b..da2bbc27ac 100644 --- a/plugins/arc/src/LinearPairedArcDisplay/util.ts +++ b/plugins/arc/src/LinearPairedArcDisplay/util.ts @@ -8,8 +8,7 @@ import { IAutorunOptions, autorun } from 'mobx' // get tag from BAM or CRAM feature, where CRAM uses feature.get('tags') and // BAM does not export function getTag(feature: Feature, tag: string) { - const tags = feature.get('tags') - return tags !== undefined ? tags[tag] : feature.get(tag) + return feature.get('tags')[tag] } // use fallback alt tag, used in situations where upper case/lower case tags diff --git a/plugins/breakpoint-split-view/src/BreakpointSplitView/components/AlignmentConnections.tsx b/plugins/breakpoint-split-view/src/BreakpointSplitView/components/AlignmentConnections.tsx index 358d0d5cc5..ee99252c15 100644 --- a/plugins/breakpoint-split-view/src/BreakpointSplitView/components/AlignmentConnections.tsx +++ b/plugins/breakpoint-split-view/src/BreakpointSplitView/components/AlignmentConnections.tsx @@ -55,9 +55,9 @@ const AlignmentConnections = observer(function ({ : getMatchedAlignmentFeatures(allFeatures), ) if (!hasPaired) { - layoutMatches.forEach(m => { - m.sort((a, b) => a.feature.get('clipPos') - b.feature.get('clipPos')) - }) + for (const m of layoutMatches) { + m.sort((a, b) => a.clipPos - b.clipPos) + } } return layoutMatches }, [allFeatures, trackId, hasPaired, model]) diff --git a/plugins/breakpoint-split-view/src/BreakpointSplitView/model.ts b/plugins/breakpoint-split-view/src/BreakpointSplitView/model.ts index e8bb9b26b2..1b0dd46d6f 100644 --- a/plugins/breakpoint-split-view/src/BreakpointSplitView/model.ts +++ b/plugins/breakpoint-split-view/src/BreakpointSplitView/model.ts @@ -37,6 +37,14 @@ interface Track { displays: Display[] } +const startClip = new RegExp(/(\d+)[SH]$/) +const endClip = new RegExp(/^(\d+)([SH])/) + +export function getClip(cigar: string, strand: number) { + return strand === -1 + ? +(startClip.exec(cigar) || [])[1]! || 0 + : +(endClip.exec(cigar) || [])[1]! || 0 +} function calc(track: Track, f: Feature) { return track.displays[0]!.searchFeatureByID?.(f.id()) } @@ -241,6 +249,10 @@ export default function stateModelFactory(pluginManager: PluginManager) { feature, layout: calc(tracks[level], feature), level, + clipPos: getClip( + feature.get('CIGAR'), + feature.get('strand'), + ), } : undefined }) diff --git a/products/jbrowse-web/src/tests/__image_snapshots__/alignment-arcs-test-tsx-toggle-long-read-arc-display-1-snap.png b/products/jbrowse-web/src/tests/__image_snapshots__/alignment-arcs-test-tsx-toggle-long-read-arc-display-1-snap.png index 1e651f50f3515bd2905b0632d314cc2a681179a7..5fdfcad1457ba26a70e7a6744f7792ef5c47e0dc 100644 GIT binary patch literal 54731 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 literal 54845 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%0A_1j|XTC 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
!Xds}r)VrgJH6$i)w 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 diff --git a/test_data/config_demo.json b/test_data/config_demo.json index 89a08cde1a..3f37b7d7a9 100644 --- a/test_data/config_demo.json +++ b/test_data/config_demo.json @@ -4232,7 +4232,7 @@ }, { "type": "AlignmentsTrack", - "name": "Paired-end stranded RNA-seq", + "name": "Paired-end stranded RNA-seq (BAM,XS)", "metadata": { "source": "From sample files listed at https://rseqc.sourceforge.net/" }, @@ -4268,42 +4268,6 @@ }, "assemblyNames": ["hg19"] }, - { - "type": "AlignmentsTrack", - "trackId": "NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted", - "name": "NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted", - "category": ["NA12878"], - "adapter": { - "type": "BamAdapter", - "bamLocation": { - "uri": "https://jbrowse.org/genomes/GRCh38/NA12878/NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted.bam", - "locationType": "UriLocation" - }, - "index": { - "location": { - "uri": "https://jbrowse.org/genomes/GRCh38/NA12878/NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted.bam.bai", - "locationType": "UriLocation" - }, - "indexType": "BAI" - }, - "sequenceAdapter": { - "type": "BgzipFastaAdapter", - "fastaLocation": { - "uri": "https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz", - "locationType": "UriLocation" - }, - "faiLocation": { - "uri": "https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz.fai", - "locationType": "UriLocation" - }, - "gziLocation": { - "uri": "https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz.gzi", - "locationType": "UriLocation" - } - } - }, - "assemblyNames": ["hg38"] - }, { "type": "FeatureTrack", "trackId": "ncbi_genes", @@ -4486,6 +4450,177 @@ } }, "assemblyNames": ["hg38"] + }, + { + "type": "AlignmentsTrack", + "trackId": "NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted", + "name": "NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted", + "category": ["NA12878"], + "adapter": { + "type": "BamAdapter", + "bamLocation": { + "uri": "https://jbrowse.org/genomes/GRCh38/NA12878/NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted.bam", + "locationType": "UriLocation" + }, + "index": { + "location": { + "uri": "https://jbrowse.org/genomes/GRCh38/NA12878/NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted.bam.bai", + "locationType": "UriLocation" + }, + "indexType": "BAI" + }, + "sequenceAdapter": { + "type": "BgzipFastaAdapter", + "fastaLocation": { + "uri": "https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz", + "locationType": "UriLocation" + }, + "faiLocation": { + "uri": "https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz.fai", + "locationType": "UriLocation" + }, + "gziLocation": { + "uri": "https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz.gzi", + "locationType": "UriLocation" + } + } + }, + "assemblyNames": ["hg38"] + }, + { + "type": "AlignmentsTrack", + "trackId": "NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted.chr1", + "name": "NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted.chr1", + "adapter": { + "type": "CramAdapter", + "cramLocation": { + "uri": "https://jbrowse.org/genomes/GRCh38/NA12878/NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted.chr1.cram", + "locationType": "UriLocation" + }, + "craiLocation": { + "uri": "https://jbrowse.org/genomes/GRCh38/NA12878/NA12878-DirectRNA.pass.dedup.NoU.fastq.hg38.minimap2.sorted.chr1.cram.crai", + "locationType": "UriLocation" + }, + "sequenceAdapter": { + "type": "BgzipFastaAdapter", + "fastaLocation": { + "uri": "https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz", + "locationType": "UriLocation" + }, + "faiLocation": { + "uri": "https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz.fai", + "locationType": "UriLocation" + }, + "gziLocation": { + "uri": "https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz.gzi", + "locationType": "UriLocation" + } + } + }, + "category": ["NA12878"], + "assemblyNames": ["hg38"] + }, + { + "type": "AlignmentsTrack", + "trackId": "Pairend_StrandSpecific_51mer_Human_hg19.chr1.cram", + "name": "Paired-end stranded RNA-seq (CRAM,XS)", + "metadata": { + "source": "From sample files listed at https://rseqc.sourceforge.net/" + }, + "adapter": { + "type": "CramAdapter", + "cramLocation": { + "uri": "https://jbrowse.org/genomes/hg19/paired_end-rnaseq/Pairend_StrandSpecific_51mer_Human_hg19.chr1.cram", + "locationType": "UriLocation" + }, + "craiLocation": { + "uri": "https://jbrowse.org/genomes/hg19/paired_end-rnaseq/Pairend_StrandSpecific_51mer_Human_hg19.chr1.cram.crai", + "locationType": "UriLocation" + }, + "sequenceAdapter": { + "type": "BgzipFastaAdapter", + "fastaLocation": { + "uri": "https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz", + "locationType": "UriLocation" + }, + "faiLocation": { + "uri": "https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz.fai", + "locationType": "UriLocation" + }, + "gziLocation": { + "uri": "https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz.gzi", + "locationType": "UriLocation" + } + } + }, + "assemblyNames": ["hg19"] + }, + { + "type": "AlignmentsTrack", + "trackId": "Pairend_StrandSpecific_51mer_Human_hg19.chr1.TS", + "name": "Paired-end stranded RNA-seq (CRAM,TS)", + "adapter": { + "type": "CramAdapter", + "cramLocation": { + "uri": "https://jbrowse.org/genomes/hg19/paired_end-rnaseq/Pairend_StrandSpecific_51mer_Human_hg19.chr1.TS.cram", + "locationType": "UriLocation" + }, + "craiLocation": { + "uri": "https://jbrowse.org/genomes/hg19/paired_end-rnaseq/Pairend_StrandSpecific_51mer_Human_hg19.chr1.TS.cram.crai", + "locationType": "UriLocation" + }, + "sequenceAdapter": { + "type": "BgzipFastaAdapter", + "fastaLocation": { + "uri": "https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz", + "locationType": "UriLocation" + }, + "faiLocation": { + "uri": "https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz.fai", + "locationType": "UriLocation" + }, + "gziLocation": { + "uri": "https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz.gzi", + "locationType": "UriLocation" + } + } + }, + "assemblyNames": ["hg19"] + }, + { + "type": "AlignmentsTrack", + "trackId": "Pairend_StrandSpecific_51mer_Human_hg19.chr1.TS.bam", + "name": "Paired-end stranded RNA-seq (BAM,TS)", + "adapter": { + "type": "BamAdapter", + "bamLocation": { + "uri": "https://jbrowse.org/genomes/hg19/paired_end-rnaseq/Pairend_StrandSpecific_51mer_Human_hg19.chr1.TS.bam", + "locationType": "UriLocation" + }, + "index": { + "location": { + "uri": "https://jbrowse.org/genomes/hg19/paired_end-rnaseq/Pairend_StrandSpecific_51mer_Human_hg19.chr1.TS.bam.bai", + "locationType": "UriLocation" + }, + "indexType": "BAI" + }, + "sequenceAdapter": { + "type": "BgzipFastaAdapter", + "fastaLocation": { + "uri": "https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz", + "locationType": "UriLocation" + }, + "faiLocation": { + "uri": "https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz.fai", + "locationType": "UriLocation" + }, + "gziLocation": { + "uri": "https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz.gzi", + "locationType": "UriLocation" + } + } + }, + "assemblyNames": ["hg19"] } ], "connections": [], diff --git a/yarn.lock b/yarn.lock index 4c97ba3ca9..472c6e9486 100644 --- a/yarn.lock +++ b/yarn.lock @@ -88,533 +88,533 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" -"@aws-sdk/client-cloudfront@^3.679.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.682.0.tgz#bc7a0b298492407c6f515459fa8f5accbe3782b2" - integrity sha512-K4RXR+6mlQe4XEp+tBj0nkoiQ5yDPdef0StEfcJQ9NbwwJb2Vdm8ImeEkJjisPcc0h3D6NhaZHumYwWAKb3BpA== +"@aws-sdk/client-cloudfront@^3.682.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.686.0.tgz#a61f7b1c461ea03701b1a6f5d6e729694c815c28" + integrity sha512-Z1mcMgQoVC9uPv2cqFS7qvSLdBSlThjzEL4kGYTa6P6nVq/eaSTEu+dq/zB5qLK5oO/WPsIGjsugypNb8J/W+A== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.682.0" - "@aws-sdk/client-sts" "3.682.0" - "@aws-sdk/core" "3.679.0" - "@aws-sdk/credential-provider-node" "3.682.0" - "@aws-sdk/middleware-host-header" "3.679.0" - "@aws-sdk/middleware-logger" "3.679.0" - "@aws-sdk/middleware-recursion-detection" "3.679.0" - "@aws-sdk/middleware-user-agent" "3.682.0" - "@aws-sdk/region-config-resolver" "3.679.0" - "@aws-sdk/types" "3.679.0" - "@aws-sdk/util-endpoints" "3.679.0" - "@aws-sdk/util-user-agent-browser" "3.679.0" - "@aws-sdk/util-user-agent-node" "3.682.0" - "@aws-sdk/xml-builder" "3.679.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.8" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-node" "^3.0.7" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.23" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.4.0" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/client-sso-oidc" "3.686.0" + "@aws-sdk/client-sts" "3.686.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-node" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@aws-sdk/xml-builder" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-node" "^3.0.8" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.23" - "@smithy/util-defaults-mode-node" "^3.0.23" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" - "@smithy/util-stream" "^3.1.9" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" + "@smithy/util-stream" "^3.2.1" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.6" + "@smithy/util-waiter" "^3.1.7" tslib "^2.6.2" "@aws-sdk/client-s3@^3.685.0": - version "3.685.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.685.0.tgz#bf2fd9fe310a2d20fdaf3585755e9a8416d08c2b" - integrity sha512-ClvMeQHbLhWkpxnVymo4qWS5/yZcPXjorDbSday3joCWYWCSHTO409nWd+jx6eA4MKT/EY/uJ6ZBJRFfByKLuA== + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.686.0.tgz#4079406b60856445bdfb2f5544b433d6c7813a09" + integrity sha512-FE/xDZ529Xr+pOyLk8Ilc6sabb2b/K+QgSqS7ZsKcRuuHcKm6/h9tU1/U/F908IFiLmi3pI9i7Jl9Uoj7XlPmw== dependencies: "@aws-crypto/sha1-browser" "5.2.0" "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.682.0" - "@aws-sdk/client-sts" "3.682.0" - "@aws-sdk/core" "3.679.0" - "@aws-sdk/credential-provider-node" "3.682.0" - "@aws-sdk/middleware-bucket-endpoint" "3.679.0" - "@aws-sdk/middleware-expect-continue" "3.679.0" - "@aws-sdk/middleware-flexible-checksums" "3.682.0" - "@aws-sdk/middleware-host-header" "3.679.0" - "@aws-sdk/middleware-location-constraint" "3.679.0" - "@aws-sdk/middleware-logger" "3.679.0" - "@aws-sdk/middleware-recursion-detection" "3.679.0" - "@aws-sdk/middleware-sdk-s3" "3.685.0" - "@aws-sdk/middleware-ssec" "3.679.0" - "@aws-sdk/middleware-user-agent" "3.682.0" - "@aws-sdk/region-config-resolver" "3.679.0" - "@aws-sdk/signature-v4-multi-region" "3.685.0" - "@aws-sdk/types" "3.679.0" - "@aws-sdk/util-endpoints" "3.679.0" - "@aws-sdk/util-user-agent-browser" "3.679.0" - "@aws-sdk/util-user-agent-node" "3.682.0" - "@aws-sdk/xml-builder" "3.679.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.8" - "@smithy/eventstream-serde-browser" "^3.0.10" - "@smithy/eventstream-serde-config-resolver" "^3.0.7" - "@smithy/eventstream-serde-node" "^3.0.9" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-blob-browser" "^3.1.6" - "@smithy/hash-node" "^3.0.7" - "@smithy/hash-stream-node" "^3.1.6" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/md5-js" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.23" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.4.0" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/client-sso-oidc" "3.686.0" + "@aws-sdk/client-sts" "3.686.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-node" "3.686.0" + "@aws-sdk/middleware-bucket-endpoint" "3.686.0" + "@aws-sdk/middleware-expect-continue" "3.686.0" + "@aws-sdk/middleware-flexible-checksums" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-location-constraint" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-sdk-s3" "3.686.0" + "@aws-sdk/middleware-ssec" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/signature-v4-multi-region" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@aws-sdk/xml-builder" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/eventstream-serde-browser" "^3.0.11" + "@smithy/eventstream-serde-config-resolver" "^3.0.8" + "@smithy/eventstream-serde-node" "^3.0.10" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-blob-browser" "^3.1.7" + "@smithy/hash-node" "^3.0.8" + "@smithy/hash-stream-node" "^3.1.7" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/md5-js" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.23" - "@smithy/util-defaults-mode-node" "^3.0.23" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" - "@smithy/util-stream" "^3.1.9" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" + "@smithy/util-stream" "^3.2.1" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.6" + "@smithy/util-waiter" "^3.1.7" tslib "^2.6.2" -"@aws-sdk/client-sso-oidc@3.682.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.682.0.tgz#423d6b3179fe560a515e3b286689414590f3263b" - integrity sha512-ZPZ7Y/r/w3nx/xpPzGSqSQsB090Xk5aZZOH+WBhTDn/pBEuim09BYXCLzvvxb7R7NnuoQdrTJiwimdJAhHl7ZQ== +"@aws-sdk/client-sso-oidc@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.686.0.tgz#9cba2e47d80b0e73ab201eee6e98c3a00dc164b0" + integrity sha512-bV8yw1tpEj9WOVEnIJTcHPmTqikGccvh9RCg9ohc5DVKLajt/pUF4b+8dDyqNrEijUqlpDDwpSnh1GFhfe298A== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.679.0" - "@aws-sdk/credential-provider-node" "3.682.0" - "@aws-sdk/middleware-host-header" "3.679.0" - "@aws-sdk/middleware-logger" "3.679.0" - "@aws-sdk/middleware-recursion-detection" "3.679.0" - "@aws-sdk/middleware-user-agent" "3.682.0" - "@aws-sdk/region-config-resolver" "3.679.0" - "@aws-sdk/types" "3.679.0" - "@aws-sdk/util-endpoints" "3.679.0" - "@aws-sdk/util-user-agent-browser" "3.679.0" - "@aws-sdk/util-user-agent-node" "3.682.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.8" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-node" "^3.0.7" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.23" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.4.0" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-node" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-node" "^3.0.8" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.23" - "@smithy/util-defaults-mode-node" "^3.0.23" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sso@3.682.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.682.0.tgz#7533f677456d5f79cfcceed44a3481bcd86b560e" - integrity sha512-PYH9RFUMYLFl66HSBq4tIx6fHViMLkhJHTYJoJONpBs+Td+NwVJ895AdLtDsBIhMS0YseCbPpuyjUCJgsUrwUw== +"@aws-sdk/client-sso@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.686.0.tgz#837e9c7af186d2f3f1970f639445463f2ebcfa9e" + integrity sha512-D8huL2BSHNP9QdQrqPcx4DCJXcG/vrPimNbymgCBgnYyS1HNs11Hu27ZPrbWCZFC8n/bvfXGXOhm8WAHOi4Vtw== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.679.0" - "@aws-sdk/middleware-host-header" "3.679.0" - "@aws-sdk/middleware-logger" "3.679.0" - "@aws-sdk/middleware-recursion-detection" "3.679.0" - "@aws-sdk/middleware-user-agent" "3.682.0" - "@aws-sdk/region-config-resolver" "3.679.0" - "@aws-sdk/types" "3.679.0" - "@aws-sdk/util-endpoints" "3.679.0" - "@aws-sdk/util-user-agent-browser" "3.679.0" - "@aws-sdk/util-user-agent-node" "3.682.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.8" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-node" "^3.0.7" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.23" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.4.0" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-node" "^3.0.8" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.23" - "@smithy/util-defaults-mode-node" "^3.0.23" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sts@3.682.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.682.0.tgz#97ff70ca141aa6ef48a22f14ef9727bd6ae17b03" - integrity sha512-xKuo4HksZ+F8m9DOfx/ZuWNhaPuqZFPwwy0xqcBT6sWH7OAuBjv/fnpOTzyQhpVTWddlf+ECtMAMrxjxuOExGQ== +"@aws-sdk/client-sts@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.686.0.tgz#9ef94c56ec3379d2bb23e717cfb9b2095de65e1a" + integrity sha512-WVyOYdK3w7RhK6UrA2MY8KPIbcZ88BGIoKmRhcOXdIUC8CLL1UIECgdRthFXOU+MBqDPFS+VeF+COk0CpRhE8Q== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.682.0" - "@aws-sdk/core" "3.679.0" - "@aws-sdk/credential-provider-node" "3.682.0" - "@aws-sdk/middleware-host-header" "3.679.0" - "@aws-sdk/middleware-logger" "3.679.0" - "@aws-sdk/middleware-recursion-detection" "3.679.0" - "@aws-sdk/middleware-user-agent" "3.682.0" - "@aws-sdk/region-config-resolver" "3.679.0" - "@aws-sdk/types" "3.679.0" - "@aws-sdk/util-endpoints" "3.679.0" - "@aws-sdk/util-user-agent-browser" "3.679.0" - "@aws-sdk/util-user-agent-node" "3.682.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.8" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-node" "^3.0.7" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.23" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.4.0" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/client-sso-oidc" "3.686.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-node" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-node" "^3.0.8" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.23" - "@smithy/util-defaults-mode-node" "^3.0.23" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/core@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.679.0.tgz#102aa1d19db5bdcabefc2dcd044f2fb5d0771568" - integrity sha512-CS6PWGX8l4v/xyvX8RtXnBisdCa5+URzKd0L6GvHChype9qKUVxO/Gg6N/y43Hvg7MNWJt9FBPNWIxUB+byJwg== +"@aws-sdk/core@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.686.0.tgz#106a3733c250094db15ba765386db4643f5613b6" + integrity sha512-Xt3DV4DnAT3v2WURwzTxWQK34Ew+iiLzoUoguvLaZrVMFOqMMrwVjP+sizqIaHp1j7rGmFcN5I8saXnsDLuQLA== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/core" "^2.4.8" - "@smithy/node-config-provider" "^3.1.8" + "@aws-sdk/types" "3.686.0" + "@smithy/core" "^2.5.1" + "@smithy/node-config-provider" "^3.1.9" "@smithy/property-provider" "^3.1.7" - "@smithy/protocol-http" "^4.1.4" + "@smithy/protocol-http" "^4.1.5" "@smithy/signature-v4" "^4.2.0" - "@smithy/smithy-client" "^3.4.0" - "@smithy/types" "^3.5.0" - "@smithy/util-middleware" "^3.0.7" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/util-middleware" "^3.0.8" fast-xml-parser "4.4.1" tslib "^2.6.2" -"@aws-sdk/credential-provider-env@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.679.0.tgz#abf297714b77197a9da0d3d95a0f5687ae28e5b3" - integrity sha512-EdlTYbzMm3G7VUNAMxr9S1nC1qUNqhKlAxFU8E7cKsAe8Bp29CD5HAs3POc56AVo9GC4yRIS+/mtlZSmrckzUA== +"@aws-sdk/credential-provider-env@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.686.0.tgz#71ce2df0be065dacddd873d1be7426bc8c6038ec" + integrity sha512-osD7lPO8OREkgxPiTWmA1i6XEmOth1uW9HWWj/+A2YGCj1G/t2sHu931w4Qj9NWHYZtbTTXQYVRg+TErALV7nQ== dependencies: - "@aws-sdk/core" "3.679.0" - "@aws-sdk/types" "3.679.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-http@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.679.0.tgz#9fc29f4ec7ab52ecf394288c05295823e818d812" - integrity sha512-ZoKLubW5DqqV1/2a3TSn+9sSKg0T8SsYMt1JeirnuLJF0mCoYFUaWMyvxxKuxPoqvUsaycxKru4GkpJ10ltNBw== +"@aws-sdk/credential-provider-http@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.686.0.tgz#fe84ea67fea6bb61effc0f10b99a0c3e9378d6c3" + integrity sha512-xyGAD/f3vR/wssUiZrNFWQWXZvI4zRm2wpHhoHA1cC2fbRMNFYtFn365yw6dU7l00ZLcdFB1H119AYIUZS7xbw== dependencies: - "@aws-sdk/core" "3.679.0" - "@aws-sdk/types" "3.679.0" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/node-http-handler" "^3.2.4" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/node-http-handler" "^3.2.5" "@smithy/property-provider" "^3.1.7" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.4.0" - "@smithy/types" "^3.5.0" - "@smithy/util-stream" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/util-stream" "^3.2.1" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.682.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.682.0.tgz#36a68cd8d0ec3b14acf413166dce72a201fcc2bd" - integrity sha512-6eqWeHdK6EegAxqDdiCi215nT3QZPwukgWAYuVxNfJ/5m0/P7fAzF+D5kKVgByUvGJEbq/FEL8Fw7OBe64AA+g== - dependencies: - "@aws-sdk/core" "3.679.0" - "@aws-sdk/credential-provider-env" "3.679.0" - "@aws-sdk/credential-provider-http" "3.679.0" - "@aws-sdk/credential-provider-process" "3.679.0" - "@aws-sdk/credential-provider-sso" "3.682.0" - "@aws-sdk/credential-provider-web-identity" "3.679.0" - "@aws-sdk/types" "3.679.0" +"@aws-sdk/credential-provider-ini@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.686.0.tgz#41679c5845a26a003ffaeaaf4e2f557e7431ee41" + integrity sha512-90yr47QsduNiuVizMaJ2GctXZfp/z6s9eSk8ryMxMEJ2zJtaQHmJXIxaNnXj5Kh7V+HhCK7rYu58eyhZvz2Seg== + dependencies: + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-env" "3.686.0" + "@aws-sdk/credential-provider-http" "3.686.0" + "@aws-sdk/credential-provider-process" "3.686.0" + "@aws-sdk/credential-provider-sso" "3.686.0" + "@aws-sdk/credential-provider-web-identity" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/credential-provider-imds" "^3.2.4" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.682.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.682.0.tgz#4ec1ebd00dcacb46ae76747b23ebf7bda04808bd" - integrity sha512-HSmDqZcBVZrTctHCT9m++vdlDfJ1ARI218qmZa+TZzzOFNpKWy6QyHMEra45GB9GnkkMmV6unoDSPMuN0AqcMg== - dependencies: - "@aws-sdk/credential-provider-env" "3.679.0" - "@aws-sdk/credential-provider-http" "3.679.0" - "@aws-sdk/credential-provider-ini" "3.682.0" - "@aws-sdk/credential-provider-process" "3.679.0" - "@aws-sdk/credential-provider-sso" "3.682.0" - "@aws-sdk/credential-provider-web-identity" "3.679.0" - "@aws-sdk/types" "3.679.0" +"@aws-sdk/credential-provider-node@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.686.0.tgz#118c10e5fde68d02fb4acaa5bfc75d3620b95ed2" + integrity sha512-d5etJJD5rE3ALxrZag80EuFYI+tmJrS4E4dvFNRCosVFKvIC89VVpVY0W+OaA0J+D4FD3OzBwxan31BQAW3IyA== + dependencies: + "@aws-sdk/credential-provider-env" "3.686.0" + "@aws-sdk/credential-provider-http" "3.686.0" + "@aws-sdk/credential-provider-ini" "3.686.0" + "@aws-sdk/credential-provider-process" "3.686.0" + "@aws-sdk/credential-provider-sso" "3.686.0" + "@aws-sdk/credential-provider-web-identity" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/credential-provider-imds" "^3.2.4" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.679.0.tgz#a06b5193cdad2c14382708bcd44d487af52b11dc" - integrity sha512-u/p4TV8kQ0zJWDdZD4+vdQFTMhkDEJFws040Gm113VHa/Xo1SYOjbpvqeuFoz6VmM0bLvoOWjxB9MxnSQbwKpQ== +"@aws-sdk/credential-provider-process@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.686.0.tgz#7b02591d9b81fb16288618ce23d3244496c1b538" + integrity sha512-sXqaAgyzMOc+dm4CnzAR5Q6S9OWVHyZjLfW6IQkmGjqeQXmZl24c4E82+w64C+CTkJrFLzH1VNOYp1Hy5gE6Qw== dependencies: - "@aws-sdk/core" "3.679.0" - "@aws-sdk/types" "3.679.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.682.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.682.0.tgz#aa7e3ffdac82bfc14fc0cf136cec3152f863a63a" - integrity sha512-h7IH1VsWgV6YAJSWWV6y8uaRjGqLY3iBpGZlXuTH/c236NMLaNv+WqCBLeBxkFGUb2WeQ+FUPEJDCD69rgLIkg== +"@aws-sdk/credential-provider-sso@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.686.0.tgz#4575296bb6dc090d0ca7c983ac7f9665486208ae" + integrity sha512-bGDFRcqpGUe2YBL5gmRZTLcxGwbtFd916JsdqmNgJwhhlOXPF6nqjGil5ZYruS3AMPy0BMntnG0Mvn/ZbusT/A== dependencies: - "@aws-sdk/client-sso" "3.682.0" - "@aws-sdk/core" "3.679.0" - "@aws-sdk/token-providers" "3.679.0" - "@aws-sdk/types" "3.679.0" + "@aws-sdk/client-sso" "3.686.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/token-providers" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.679.0.tgz#5871c44e5846e7c93810fd033224c00493db65a3" - integrity sha512-a74tLccVznXCaBefWPSysUcLXYJiSkeUmQGtalNgJ1vGkE36W5l/8czFiiowdWdKWz7+x6xf0w+Kjkjlj42Ung== +"@aws-sdk/credential-provider-web-identity@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.686.0.tgz#228be45b2f840ebf227d96ee5e326c1efa3c25a9" + integrity sha512-40UqCpPxyHCXDP7CGd9JIOZDgDZf+u1OyLaGBpjQJlz1HYuEsIWnnbTe29Yg3Ah/Zc3g4NBWcUdlGVotlnpnDg== dependencies: - "@aws-sdk/core" "3.679.0" - "@aws-sdk/types" "3.679.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-bucket-endpoint@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.679.0.tgz#cc5acad018d3b1646340fa2d0d0d412436b95e04" - integrity sha512-5EpiPhhGgnF+uJR4DzWUk6Lx3pOn9oM6JGXxeHsiynfoBfq7vHMleq+uABHHSQS+y7XzbyZ7x8tXNQlliMwOsg== +"@aws-sdk/middleware-bucket-endpoint@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.686.0.tgz#12772aa4ce5448995b108f636e15d76cea95a7d9" + integrity sha512-6qCoWI73/HDzQE745MHQUYz46cAQxHCgy1You8MZQX9vHAQwqBnkcsb2hGp7S6fnQY5bNsiZkMWVQ/LVd2MNjg== dependencies: - "@aws-sdk/types" "3.679.0" + "@aws-sdk/types" "3.686.0" "@aws-sdk/util-arn-parser" "3.679.0" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" "@smithy/util-config-provider" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-expect-continue@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.679.0.tgz#6b22403fa6d7a7b9b0312c4453cfef69da66334b" - integrity sha512-nYsh9PdWrF4EahTRdXHGlNud82RPc508CNGdh1lAGfPU3tNveGfMBX3PcGBtPOse3p9ebNKRWVmUc9eXSjGvHA== +"@aws-sdk/middleware-expect-continue@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.686.0.tgz#4446a7f06098a8c6bc5f06717a8d65986383c81f" + integrity sha512-5yYqIbyhLhH29vn4sHiTj7sU6GttvLMk3XwCmBXjo2k2j3zHqFUwh9RyFGF9VY6Z392Drf/E/cl+qOGypwULpg== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-flexible-checksums@3.682.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.682.0.tgz#1370919775140dfda2a860892792bf560914c93a" - integrity sha512-5u1STth6iZUtAvPDO0NJVYKUX2EYKU7v84MYYaZ3O27HphRjFqDos0keL2KTnHn/KmMD68rM3yiUareWR8hnAQ== +"@aws-sdk/middleware-flexible-checksums@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.686.0.tgz#201bdc479c4ac5627f2d333b42ad1a93fa09aa47" + integrity sha512-S3bRlsu6p1yRBNqfFTJ4qOM0ybkBAggG0ZCxF+thzFFlyDCjfb46sA6SczwHimKBpMVXJr/XMvbWdfpW0DXsqA== dependencies: "@aws-crypto/crc32" "5.2.0" "@aws-crypto/crc32c" "5.2.0" - "@aws-sdk/core" "3.679.0" - "@aws-sdk/types" "3.679.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/is-array-buffer" "^3.0.0" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" - "@smithy/util-middleware" "^3.0.7" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" + "@smithy/util-middleware" "^3.0.8" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-host-header@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.679.0.tgz#1eabe42250c57a9e28742dd04786781573faad1a" - integrity sha512-y176HuQ8JRY3hGX8rQzHDSbCl9P5Ny9l16z4xmaiLo+Qfte7ee4Yr3yaAKd7GFoJ3/Mhud2XZ37fR015MfYl2w== +"@aws-sdk/middleware-host-header@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.686.0.tgz#16f0be33fc738968a4e10ff77cb8a04e2b2c2359" + integrity sha512-+Yc6rO02z+yhFbHmRZGvEw1vmzf/ifS9a4aBjJGeVVU+ZxaUvnk+IUZWrj4YQopUQ+bSujmMUzJLXSkbDq7yuw== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-location-constraint@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.679.0.tgz#99ed75f1bf5ec005656af1c9efdb35aa2ddc7216" - integrity sha512-SA1C1D3XgoKTGxyNsOqd016ONpk46xJLWDgJUd00Zb21Ox5wYCoY6aDRKiaMRW+1VfCJdezs1Do3XLyIU9KxyA== +"@aws-sdk/middleware-location-constraint@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.686.0.tgz#bddc9553c2452672ded9830810cb6f08471a3f75" + integrity sha512-pCLeZzt5zUGY3NbW4J/5x3kaHyJEji4yqtoQcUlJmkoEInhSxJ0OE8sTxAfyL3nIOF4yr6L2xdaLCqYgQT8Aog== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-logger@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.679.0.tgz#cb0f205ddb5341d8327fc9ca1897bf06526c1896" - integrity sha512-0vet8InEj7nvIvGKk+ch7bEF5SyZ7Us9U7YTEgXPrBNStKeRUsgwRm0ijPWWd0a3oz2okaEwXsFl7G/vI0XiEA== +"@aws-sdk/middleware-logger@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.686.0.tgz#4e094e42e10bf17d43b9c9afc3fc594f4aa72e02" + integrity sha512-cX43ODfA2+SPdX7VRxu6gXk4t4bdVJ9pkktbfnkE5t27OlwNfvSGGhnHrQL8xTOFeyQ+3T+oowf26gf1OI+vIg== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-recursion-detection@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.679.0.tgz#3542de5baa466abffbfe5ee485fd87f60d5f917e" - integrity sha512-sQoAZFsQiW/LL3DfKMYwBoGjYDEnMbA9WslWN8xneCmBAwKo6IcSksvYs23PP8XMIoBGe2I2J9BSr654XWygTQ== +"@aws-sdk/middleware-recursion-detection@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.686.0.tgz#aba097d2dcc9d3b9d4523d7ae03ac3b387617db1" + integrity sha512-jF9hQ162xLgp9zZ/3w5RUNhmwVnXDBlABEUX8jCgzaFpaa742qR/KKtjjZQ6jMbQnP+8fOCSXFAVNMU+s6v81w== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-sdk-s3@3.685.0": - version "3.685.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.685.0.tgz#9e198973cc8d7ead142e5b5ba38694a957cf462b" - integrity sha512-C4w92b3A99NbghrA2Ssw6y1RbDF3I3Bgzi2Izh0pXgyIoDiX0xs9bUs/FGYLK4uepYr78DAZY8DwEpzjWIXkSA== +"@aws-sdk/middleware-sdk-s3@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.686.0.tgz#88bf3c68a0c820f76ad7118e1b077b76721468c3" + integrity sha512-nQ38oBZD2UJLt+N2hPgeZju8Vz9WvfOYE0ao4cGCSWwcUI72Tx162GxC+VK04V7krYQkmwWtcdtzZD40rMWdgw== dependencies: - "@aws-sdk/core" "3.679.0" - "@aws-sdk/types" "3.679.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" "@aws-sdk/util-arn-parser" "3.679.0" - "@smithy/core" "^2.4.8" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/protocol-http" "^4.1.4" + "@smithy/core" "^2.5.1" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" "@smithy/signature-v4" "^4.2.0" - "@smithy/smithy-client" "^3.4.0" - "@smithy/types" "^3.5.0" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-stream" "^3.1.9" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-stream" "^3.2.1" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-ssec@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.679.0.tgz#72c68c46073d1e93654b9b47be61cbcf852d7804" - integrity sha512-4GNUxXbs1M71uFHRiCAZtN0/g23ogI9YjMe5isAuYMHXwDB3MhqF7usKf954mBP6tplvN44vYlbJ84faaLrTtg== +"@aws-sdk/middleware-ssec@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.686.0.tgz#03c231c6a130a0562ccf915245a28c2c8a17fb64" + integrity sha512-zJXml/CpVHFUdlGQqja87vNQ3rPB5SlDbfdwxlj1KBbjnRRwpBtxxmOlWRShg8lnVV6aIMGv95QmpIFy4ayqnQ== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@3.682.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.682.0.tgz#07d75723bce31e65a29ad0934347537e50e3536e" - integrity sha512-7TyvYR9HdGH1/Nq0eeApUTM4izB6rExiw87khVYuJwZHr6FmvIL1FsOVFro/4WlXa0lg4LiYOm/8H8dHv+fXTg== - dependencies: - "@aws-sdk/core" "3.679.0" - "@aws-sdk/types" "3.679.0" - "@aws-sdk/util-endpoints" "3.679.0" - "@smithy/core" "^2.4.8" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" +"@aws-sdk/middleware-user-agent@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.686.0.tgz#f634a2f767d6f347d9f8d5822a3da00923c9ffee" + integrity sha512-/GRU68H5J66OD2a/RtX5s2ECtXTlMq6NneLlzcx0mIWnZ2VRMS2vFW2j2jrBEPJ5Y5us1/lK/fbun6gNo3qh7Q== + dependencies: + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@smithy/core" "^2.5.1" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/region-config-resolver@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.679.0.tgz#d205dbaea8385aaf05e637fb7cb095c60bc708be" - integrity sha512-Ybx54P8Tg6KKq5ck7uwdjiKif7n/8g1x+V0V9uTjBjRWqaIgiqzXwKWoPj6NCNkE7tJNtqI4JrNxp/3S3HvmRw== +"@aws-sdk/region-config-resolver@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.686.0.tgz#3ef61e2cd95eb0ae80ecd5eef284744eb0a76d7c" + integrity sha512-6zXD3bSD8tcsMAVVwO1gO7rI1uy2fCD3czgawuPGPopeLiPpo6/3FoUWCQzk2nvEhj7p9Z4BbjwZGSlRkVrXTw== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/types" "^3.6.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.7" + "@smithy/util-middleware" "^3.0.8" tslib "^2.6.2" -"@aws-sdk/signature-v4-multi-region@3.685.0": - version "3.685.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.685.0.tgz#8bf6ae3d535666dd30ac255c9ba3bbde991b13df" - integrity sha512-IHLwuAZGqfUWVrNqw0ugnBa7iL8uBP4x6A7bfBDXRXWCWjUCed/1/D//0lKDHwpFkV74fGW6KoBacnWSUlXmwA== +"@aws-sdk/signature-v4-multi-region@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.686.0.tgz#c5e0a48193f3e4d0a5420516e6a0ce4cf4abda0a" + integrity sha512-/e6nLBVSBXd2QC9hXLK7ka4pw5V1TlVg0VhoRIRspWxVmWmyQykyymAq0Z1kvg+D3Y6K8UiB2nE0QAsNqowPOA== dependencies: - "@aws-sdk/middleware-sdk-s3" "3.685.0" - "@aws-sdk/types" "3.679.0" - "@smithy/protocol-http" "^4.1.4" + "@aws-sdk/middleware-sdk-s3" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@smithy/protocol-http" "^4.1.5" "@smithy/signature-v4" "^4.2.0" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/token-providers@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.679.0.tgz#7ec462d93941dd3cfdc245104ad32971f6ebc4f6" - integrity sha512-1/+Zso/x2jqgutKixYFQEGli0FELTgah6bm7aB+m2FAWH4Hz7+iMUsazg6nSWm714sG9G3h5u42Dmpvi9X6/hA== +"@aws-sdk/token-providers@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.686.0.tgz#c7733a0a079adc9404bd9d8fc4ff52edef0a123a" + integrity sha512-9oL4kTCSePFmyKPskibeiOXV6qavPZ63/kXM9Wh9V6dTSvBtLeNnMxqGvENGKJcTdIgtoqyqA6ET9u0PJ5IRIg== dependencies: - "@aws-sdk/types" "3.679.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/types@3.679.0", "@aws-sdk/types@^3.222.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.679.0.tgz#3737bb0f190add9e788b838a24cd5d8106dbed4f" - integrity sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q== +"@aws-sdk/types@3.686.0", "@aws-sdk/types@^3.222.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.686.0.tgz#01aa5307c727de9e69969c538f99ae8b53f1074f" + integrity sha512-xFnrb3wxOoJcW2Xrh63ZgFo5buIu9DF7bOHnwoUxHdNpUXicUh0AHw85TjXxyxIAd0d1psY/DU7QHoNI3OswgQ== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/util-arn-parser@3.679.0": @@ -624,14 +624,14 @@ dependencies: tslib "^2.6.2" -"@aws-sdk/util-endpoints@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.679.0.tgz#b249ad8b4289e634cb5dfb3873a70b7aecbf323f" - integrity sha512-YL6s4Y/1zC45OvddvgE139fjeWSKKPgLlnfrvhVL7alNyY9n7beR4uhoDpNrt5mI6sn9qiBF17790o+xLAXjjg== +"@aws-sdk/util-endpoints@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.686.0.tgz#c9a621961b8efda6d82ab3523d673acb0629d6d0" + integrity sha512-7msZE2oYl+6QYeeRBjlDgxQUhq/XRky3cXE0FqLFs2muLS7XSuQEXkpOXB3R782ygAP6JX0kmBxPTLurRTikZg== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/types" "^3.5.0" - "@smithy/util-endpoints" "^2.1.3" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" + "@smithy/util-endpoints" "^2.1.4" tslib "^2.6.2" "@aws-sdk/util-locate-window@^3.0.0": @@ -641,33 +641,33 @@ dependencies: tslib "^2.6.2" -"@aws-sdk/util-user-agent-browser@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.679.0.tgz#bbaa5a8771c8a16388cd3cd934bb84a641ce907d" - integrity sha512-CusSm2bTBG1kFypcsqU8COhnYc6zltobsqs3nRrvYqYaOqtMnuE46K4XTWpnzKgwDejgZGOE+WYyprtAxrPvmQ== +"@aws-sdk/util-user-agent-browser@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.686.0.tgz#953ef68c1b54e02f9de742310f47c33452f088bc" + integrity sha512-YiQXeGYZegF1b7B2GOR61orhgv79qmI0z7+Agm3NXLO6hGfVV3kFUJbXnjtH1BgWo5hbZYW7HQ2omGb3dnb6Lg== dependencies: - "@aws-sdk/types" "3.679.0" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" bowser "^2.11.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@3.682.0": - version "3.682.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.682.0.tgz#a493d2afb160c5cd4ab0520f929e9b7a2b36f74e" - integrity sha512-so5s+j0gPoTS0HM4HPL+G0ajk0T6cQAg8JXzRgvyiQAxqie+zGCZAV3VuVeMNWMVbzsgZl0pYZaatPFTLG/AxA== +"@aws-sdk/util-user-agent-node@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.686.0.tgz#73b39d428e259fedbc1442e184bbd401be398ec5" + integrity sha512-XXUhZPeacJt5BmWc0qNXA4/yyQGXPmFcTOFe5aqXuZbhtTCNVJ0fPQHFip37iGSHCg8eAFykiBn9W8hD4swolQ== dependencies: - "@aws-sdk/middleware-user-agent" "3.682.0" - "@aws-sdk/types" "3.679.0" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/types" "^3.5.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/xml-builder@3.679.0": - version "3.679.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.679.0.tgz#96ccb7a4a4d4faa881d1fec5fc0554dc726843b5" - integrity sha512-nPmhVZb39ty5bcQ7mAwtjezBcsBqTYZ9A2D9v/lE92KCLdu5RhSkPH7O71ZqbZx1mUSg9fAOxHPiG79U5VlpLQ== +"@aws-sdk/xml-builder@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.686.0.tgz#adcf39a9bcbecb62ae88dd104896b9744222f98e" + integrity sha512-k0z5b5dkYSuOHY0AOZ4iyjcGBeVL9lWsQNF4+c+1oK3OW4fRWl/bNa1soMRMpangsHPzgyn/QkzuDbl7qR4qrw== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.8.3": @@ -1666,9 +1666,9 @@ integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@electron/asar@^3.2.7": - version "3.2.15" - resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.15.tgz#b75ee015db4de446d498f83e05c22640ac62ea18" - integrity sha512-AerUbRZpkDVRs58WP32t4U2bx85sfwRkQI8RMIEi6s2NBE++sgjsgAAMtXvnfTISKUkXo386pxFW7sa7WtMCrw== + version "3.2.17" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.17.tgz#91d28087aad80d1a1c8cc4e667c6476edf50f949" + integrity sha512-OcWImUI686w8LkghQj9R2ynZ2ME693Ek6L1SiaAgqGKzBaTIZw3fHDqN82Rcl+EU1Gm9EgkJ5KLIY/q5DCRbbA== dependencies: commander "^5.0.0" glob "^7.1.6" @@ -2226,13 +2226,14 @@ resolved "https://registry.yarnpkg.com/@gmod/abortable-promise-cache/-/abortable-promise-cache-2.0.1.tgz#d01cbcb2d9ad23cf0f421824b7e759a441815ebc" integrity sha512-6PQTJv+uxAb8XE/oL2Uh4EmFJpn65YOTSqGn8HLNXrWRlW1Clp1Oze6biHeRCMonLwEx4oH4bPeyjdcMnNP8pw== -"@gmod/bam@^2.0.0": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@gmod/bam/-/bam-2.0.4.tgz#bdffb52da9af4fc90cb10993a3044d01d7bf0374" - integrity sha512-lV/eM/ITwVPovyn4d8iDWyRP/zIuzHUylV5y5LJm0ZBm9nQfFwE25KpHKzoZ7a/0197Dxl+jJEjKzSlDN8YNZA== +"@gmod/bam@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@gmod/bam/-/bam-3.0.0.tgz#4e8ff76817b3d64f401a1c9f2d5676979100c084" + integrity sha512-m+V9k+19l1ASHHHnQsEiWY2tNjAmntFAEP13jZNLlOSAz4tSQBxL0HyDIrHc81YJPISaYkZ8+TKXeDgp/ETBaw== dependencies: "@gmod/abortable-promise-cache" "^2.0.0" "@gmod/bgzf-filehandle" "^1.4.4" + buffer "^6.0.3" crc "^4.3.2" generic-filehandle "^3.0.0" long "^4.0.0" @@ -2368,9 +2369,9 @@ integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== "@humanwhocodes/retry@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.0.tgz#b57438cab2a2381b4b597b0ab17339be381bd755" - integrity sha512-xnRgu9DxZbkWak/te3fcytNyp8MTbuiZIaueg2rgEvBuN55n04nwLYLU9TX/VVlusc9L2ZNXi99nUFNkHXtr5g== + version "0.4.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" + integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== "@hutson/parse-repository-url@^3.0.0": version "3.0.2" @@ -3380,9 +3381,9 @@ which "^4.0.0" "@nx/devkit@>=17.1.2 < 21": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-20.0.7.tgz#c610eb5171bc8cc7681d45eda22ad21cb5409f1a" - integrity sha512-h+B5S+tkHObtKj2pQYUkbiaiYdcim95iS27CaZgasq7FiIXQOoupQ6jrIKduQJKx+GfYbuCCd60zrAYbkyvxiA== + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-20.0.10.tgz#893effe9aa745d14bd97cb63a857c14d6ce2d5d9" + integrity sha512-GcIAQ11JrcONZpn3tIU5mtLzx9j8UMdpjns0r6yMiW7k0z6SwK5+hxIkNQJ86mndjSqiY1EdUK629tz0UscacQ== dependencies: ejs "^3.1.7" enquirer "~2.3.6" @@ -3393,55 +3394,55 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/nx-darwin-arm64@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.0.7.tgz#535f3539a59daf52b1e7415b5d54f8ed732a4e6f" - integrity sha512-QLD0DlyT343okCMHNg4EyM1s9HWU55RGiD36OxopaAmDcJ45j4p7IgmYlwbWCC5TyjIXSnLnZyIAs5DrqaKwrg== - -"@nx/nx-darwin-x64@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-20.0.7.tgz#a6f552aadd5d2abd2d775e39558a4f4ea5f4a20e" - integrity sha512-Sc2h+eAunGKiqpumvjVrrt0LRtk/l6Fev/633WP55svSNuY9muB/MPcP9v/oLyAD1flDnzvIWeUT6eEw6oqvZw== - -"@nx/nx-freebsd-x64@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.0.7.tgz#9f04c8c420bbfc1e14be2844668969a11c89b23f" - integrity sha512-Sp0pMVGj4LuPaO6oL9R5gsIPjIm8Xt3IyP9f+5uwtqjipiPriw0IdD2uV9bDjPPs0QQc15ncz+eSk30p836qpA== - -"@nx/nx-linux-arm-gnueabihf@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.0.7.tgz#69cabaaf655dc228859537dcfed4cb7492feb64b" - integrity sha512-hs15RudLvFkfBtUL20M9Hr0wn8FLije3EGn1j9iPmo8EiZBZn4mDAywwPZXmDiAuxKTU8LKBLT/xJczNe8gzbQ== - -"@nx/nx-linux-arm64-gnu@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.0.7.tgz#e1fb2fb67b4feffd4b6725c1258ff59914e8dd9c" - integrity sha512-t1NSxBvWpyjb9VnbxAN2Oka3JXEKtbQv//aLOer8++8Y+e6INDOHmRADyyp5BcLwBpsaP/lWLKcDa6vlsMzXTg== - -"@nx/nx-linux-arm64-musl@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.0.7.tgz#296758182aa55ecea75b8cc065b78b0f67ffe419" - integrity sha512-lLAzyxQeeALMKM2uBA9728gZ0bihy6rfhMe+fracV1xjGLfcHEa/hNmhXNMp9Vf80sZJ50EUeW6mUPluLROBNQ== - -"@nx/nx-linux-x64-gnu@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.0.7.tgz#34b00d193aa71da6bf8800bb2813d65c8dd74602" - integrity sha512-H9LfEoHEa0ZHnfifseY24RPErtGaXSoWTuW9JAPylUXeYOy66i/FwxwbjsG5BMFJCnL1LGXPN9Oirh442lcsbQ== - -"@nx/nx-linux-x64-musl@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.0.7.tgz#25eab105c05b3bdb31917cca18658994aa9a671d" - integrity sha512-2VsTSLZZVGHmN2BkSaLoOp/Byj9j20so/Ne/TZg4Lo/HBp0iDSOmUtbPAnkJOS6UiAPvQtb9zqzRKPphhDhnzg== - -"@nx/nx-win32-arm64-msvc@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.0.7.tgz#d0e92f2003c8fb9f065a25a10c115a561cf6077a" - integrity sha512-lmH7xTPHJe2q/P2tnHEjOTdwzNxnFV08Kp2z6sUU0lAfJ79mye2nydGBDtFq9CeFF1Q6vfCSDTRu5fbxAZ9/Xg== - -"@nx/nx-win32-x64-msvc@20.0.7": - version "20.0.7" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.0.7.tgz#45e4ba4304e3118cb111ad36a1dc87b0efe28051" - integrity sha512-U8LY1O3XA1yD8FoCM0ozT0DpFJdei2NNSrp/5lBXn5KHb2nkZ8DQ1zh7RKvMhEMwDNfNGbM7JsaBTr+fP6eYJg== +"@nx/nx-darwin-arm64@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.0.10.tgz#601e06e9b121e5fc23f988f1c0a82c84ff9655e8" + integrity sha512-fa2coWtz4wUwsB5Zpi47FEgdiKn5Bn4jVYsN37BE+wci1GpoxqhQOGgl0Hgv3KTjQfw9mEmvPT701QZcZBsetA== + +"@nx/nx-darwin-x64@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-20.0.10.tgz#0d8f16b84c3d9d12180dcbe2e4a1b93b75d31abe" + integrity sha512-LIsFeOEt1PKybhIpSJuMoBXe7ID5pBJa2w4SfiGeD9+mv3dAp/COJ9+XYeWA1HpTMgY0nOabfi1bMqzezFt/fg== + +"@nx/nx-freebsd-x64@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.0.10.tgz#b42181f8fc8011dd067169364fc6c3cb1ce5356e" + integrity sha512-q1LTJlazM35PGjJIBLIXOFLjuR8y0R7BIEu1LTJPIsQEshJSlEUzQUocT2k51HB54OdFQG7Xhu0aMDzfCqU3ag== + +"@nx/nx-linux-arm-gnueabihf@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.0.10.tgz#c288ad60280066de5b4382f5f866c30d99a584fd" + integrity sha512-fVphTD459f7ogzcADDGLR3Ot7v7ApWTLeL9vw0j95Kza3sBWHE1hYIlzHwOANLkdzy5lxtSo44XIvNuTRkingg== + +"@nx/nx-linux-arm64-gnu@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.0.10.tgz#5379bcd2fc17623e5632a0540174355663c6269b" + integrity sha512-BPAA5vzoEuKjPDXMqocOXS2SuvxfqpL/YCbMNtFt/PK1lzYijxaFY6L+00fIauKFv+99dG8e/IPf0Y3ze5pw4g== + +"@nx/nx-linux-arm64-musl@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.0.10.tgz#f6da38bd292e8b123423b92b74187cf2ef839c53" + integrity sha512-9tUBJk45kMAbW3v3q42WtufYd2OwlrlH/MBemEEve78eRr/SYnpFKsdQC2snJOy8bzE4JoG91vMBoSw9a0X/ng== + +"@nx/nx-linux-x64-gnu@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.0.10.tgz#3e6672a097591e437890073e4d3b11be9659b8bb" + integrity sha512-7D10+bJvAbqDp/r3hIaZFbq8kPIgnpPiJ37I2E8EHNSGsmRUAkM33zkF2FfTHpiLIlsKvqr+UNADwV2fLBYzAw== + +"@nx/nx-linux-x64-musl@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.0.10.tgz#f6ef7d709b745516846a1b1528b50c38ddbc64fe" + integrity sha512-cI6wNpWPFgEnzdMGpUd459bas+hJYT+vjdcwcQ9piCNwBroKgZK67SZFxf+7sL6yhUFRydDyFCalyubGE/hlrQ== + +"@nx/nx-win32-arm64-msvc@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.0.10.tgz#32fb24725b1ee7d4b73980cbf9f625385739f815" + integrity sha512-/N2somgmYfwrGNRJpu7c6S+98xqvBImXKF5iZt0aA9wyYnjJ18gA3AiI/nyGbayAstzSSg7hwMMnEZfw9pifdg== + +"@nx/nx-win32-x64-msvc@20.0.10": + version "20.0.10" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.0.10.tgz#b49ada6e105f6843161cabb92e857f54e36c6750" + integrity sha512-38NGZjq53W0hF6YDXRB+FTrzbF+3XZoeea2nU/C5HBw9MeiSgLsAjpMsL7YlcmFyvwY/BTIWQITCrwVUhPF/BA== "@oclif/core@4.0.19": version "4.0.19" @@ -3797,7 +3798,7 @@ dependencies: tslib "^2.6.2" -"@smithy/config-resolver@^3.0.10", "@smithy/config-resolver@^3.0.9": +"@smithy/config-resolver@^3.0.10": version "3.0.10" resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.10.tgz#d9529d9893e5fae1f14cb1ffd55517feb6d7e50f" integrity sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw== @@ -3808,7 +3809,7 @@ "@smithy/util-middleware" "^3.0.8" tslib "^2.6.2" -"@smithy/core@^2.4.8", "@smithy/core@^2.5.1": +"@smithy/core@^2.5.1": version "2.5.1" resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.5.1.tgz#7f635b76778afca845bcb401d36f22fa37712f15" integrity sha512-DujtuDA7BGEKExJ05W5OdxCoyekcKT3Rhg1ZGeiUWaz2BJIWXjZmsG/DIP4W48GHno7AQwRsaCb8NcBgH3QZpg== @@ -3843,7 +3844,7 @@ "@smithy/util-hex-encoding" "^3.0.0" tslib "^2.6.2" -"@smithy/eventstream-serde-browser@^3.0.10": +"@smithy/eventstream-serde-browser@^3.0.11": version "3.0.11" resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.11.tgz#019f3d1016d893b65ef6efec8c5e2fa925d0ac3d" integrity sha512-Pd1Wnq3CQ/v2SxRifDUihvpXzirJYbbtXfEnnLV/z0OGCTx/btVX74P86IgrZkjOydOASBGXdPpupYQI+iO/6A== @@ -3852,7 +3853,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/eventstream-serde-config-resolver@^3.0.7": +"@smithy/eventstream-serde-config-resolver@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.8.tgz#bba17a358818e61993aaa73e36ea4023c5805556" integrity sha512-zkFIG2i1BLbfoGQnf1qEeMqX0h5qAznzaZmMVNnvPZz9J5AWBPkOMckZWPedGUPcVITacwIdQXoPcdIQq5FRcg== @@ -3860,7 +3861,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/eventstream-serde-node@^3.0.9": +"@smithy/eventstream-serde-node@^3.0.10": version "3.0.10" resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.10.tgz#da40b872001390bb47807186855faba8172b3b5b" integrity sha512-hjpU1tIsJ9qpcoZq9zGHBJPBOeBGYt+n8vfhDwnITPhEre6APrvqq/y3XMDEGUT2cWQ4ramNqBPRbx3qn55rhw== @@ -3878,17 +3879,6 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/fetch-http-handler@^3.2.9": - version "3.2.9" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz#8d5199c162a37caa37a8b6848eefa9ca58221a0b" - integrity sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A== - dependencies: - "@smithy/protocol-http" "^4.1.4" - "@smithy/querystring-builder" "^3.0.7" - "@smithy/types" "^3.5.0" - "@smithy/util-base64" "^3.0.0" - tslib "^2.6.2" - "@smithy/fetch-http-handler@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz#3763cb5178745ed630ed5bc3beb6328abdc31f36" @@ -3900,7 +3890,7 @@ "@smithy/util-base64" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-blob-browser@^3.1.6": +"@smithy/hash-blob-browser@^3.1.7": version "3.1.7" resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.7.tgz#717a75129f3587e78c3cac74727448257a59dcc3" integrity sha512-4yNlxVNJifPM5ThaA5HKnHkn7JhctFUHvcaz6YXxHlYOSIrzI6VKQPTN8Gs1iN5nqq9iFcwIR9THqchUCouIfg== @@ -3910,7 +3900,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/hash-node@^3.0.7": +"@smithy/hash-node@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.8.tgz#f451cc342f74830466b0b39bf985dc3022634065" integrity sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng== @@ -3920,7 +3910,7 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-stream-node@^3.1.6": +"@smithy/hash-stream-node@^3.1.7": version "3.1.7" resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.7.tgz#df5c3b7aa8dbe9c389ff7857ce9145694f550b7e" integrity sha512-xMAsvJ3hLG63lsBVi1Hl6BBSfhd8/Qnp8fC06kjOpJvyyCEXdwHITa5Kvdsk6gaAXLhbZMhQMIGvgUbfnJDP6Q== @@ -3929,7 +3919,7 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/invalid-dependency@^3.0.7": +"@smithy/invalid-dependency@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.8.tgz#4d381a4c24832371ade79e904a72c173c9851e5f" integrity sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q== @@ -3951,7 +3941,7 @@ dependencies: tslib "^2.6.2" -"@smithy/md5-js@^3.0.7": +"@smithy/md5-js@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.8.tgz#837e54094007e87bf5196e11eca453d1c1e83a26" integrity sha512-LwApfTK0OJ/tCyNUXqnWCKoE2b4rDSr4BJlDAVCkiWYeHESr+y+d5zlAanuLW6fnitVJRD/7d9/kN/ZM9Su4mA== @@ -3960,7 +3950,7 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/middleware-content-length@^3.0.9": +"@smithy/middleware-content-length@^3.0.10": version "3.0.10" resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.10.tgz#738266f6d81436d7e3a86bea931bc64e04ae7dbf" integrity sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg== @@ -3969,7 +3959,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/middleware-endpoint@^3.1.4", "@smithy/middleware-endpoint@^3.2.1": +"@smithy/middleware-endpoint@^3.2.1": version "3.2.1" resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.1.tgz#b9ee42d29d8f3a266883d293c4d6a586f7b60979" integrity sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA== @@ -3983,7 +3973,7 @@ "@smithy/util-middleware" "^3.0.8" tslib "^2.6.2" -"@smithy/middleware-retry@^3.0.23": +"@smithy/middleware-retry@^3.0.25": version "3.0.25" resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.25.tgz#a6b1081fc1a0991ffe1d15e567e76198af01f37c" integrity sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg== @@ -3998,7 +3988,7 @@ tslib "^2.6.2" uuid "^9.0.1" -"@smithy/middleware-serde@^3.0.7", "@smithy/middleware-serde@^3.0.8": +"@smithy/middleware-serde@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.8.tgz#a46d10dba3c395be0d28610d55c89ff8c07c0cd3" integrity sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA== @@ -4006,7 +3996,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/middleware-stack@^3.0.7", "@smithy/middleware-stack@^3.0.8": +"@smithy/middleware-stack@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.8.tgz#f1c7d9c7fe8280c6081141c88f4a76875da1fc43" integrity sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA== @@ -4014,7 +4004,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/node-config-provider@^3.1.8", "@smithy/node-config-provider@^3.1.9": +"@smithy/node-config-provider@^3.1.9": version "3.1.9" resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz#d27ba8e4753f1941c24ed0af824dbc6c492f510a" integrity sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew== @@ -4024,7 +4014,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/node-http-handler@^3.2.4", "@smithy/node-http-handler@^3.2.5": +"@smithy/node-http-handler@^3.2.5": version "3.2.5" resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.2.5.tgz#ad9d9ba1528bf0d4a655135e978ecc14b3df26a2" integrity sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w== @@ -4043,7 +4033,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/protocol-http@^4.1.4", "@smithy/protocol-http@^4.1.5": +"@smithy/protocol-http@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.5.tgz#a1f397440f299b6a5abeed6866957fecb1bf5013" integrity sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg== @@ -4051,7 +4041,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/querystring-builder@^3.0.7", "@smithy/querystring-builder@^3.0.8": +"@smithy/querystring-builder@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.8.tgz#0d845be53aa624771c518d1412881236ce12ed4f" integrity sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA== @@ -4097,7 +4087,7 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/smithy-client@^3.4.0", "@smithy/smithy-client@^3.4.2": +"@smithy/smithy-client@^3.4.2": version "3.4.2" resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.4.2.tgz#a6e3ed98330ce170cf482e765bd0c21e0fde8ae4" integrity sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA== @@ -4110,14 +4100,14 @@ "@smithy/util-stream" "^3.2.1" tslib "^2.6.2" -"@smithy/types@^3.5.0", "@smithy/types@^3.6.0": +"@smithy/types@^3.6.0": version "3.6.0" resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.6.0.tgz#03a52bfd62ee4b7b2a1842c8ae3ada7a0a5ff3a4" integrity sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w== dependencies: tslib "^2.6.2" -"@smithy/url-parser@^3.0.7", "@smithy/url-parser@^3.0.8": +"@smithy/url-parser@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.8.tgz#8057d91d55ba8df97d74576e000f927b42da9e18" integrity sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg== @@ -4172,7 +4162,7 @@ dependencies: tslib "^2.6.2" -"@smithy/util-defaults-mode-browser@^3.0.23": +"@smithy/util-defaults-mode-browser@^3.0.25": version "3.0.25" resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.25.tgz#ef9b84272d1db23503ff155f9075a4543ab6dab7" integrity sha512-fRw7zymjIDt6XxIsLwfJfYUfbGoO9CmCJk6rjJ/X5cd20+d2Is7xjU5Kt/AiDt6hX8DAf5dztmfP5O82gR9emA== @@ -4183,7 +4173,7 @@ bowser "^2.11.0" tslib "^2.6.2" -"@smithy/util-defaults-mode-node@^3.0.23": +"@smithy/util-defaults-mode-node@^3.0.25": version "3.0.25" resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.25.tgz#c16fe3995c8e90ae318e336178392173aebe1e37" integrity sha512-H3BSZdBDiVZGzt8TG51Pd2FvFO0PAx/A0mJ0EH8a13KJ6iUCdYnw/Dk/MdC1kTd0eUuUGisDFaxXVXo4HHFL1g== @@ -4196,7 +4186,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/util-endpoints@^2.1.3": +"@smithy/util-endpoints@^2.1.4": version "2.1.4" resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.1.4.tgz#a29134c2b1982442c5fc3be18d9b22796e8eb964" integrity sha512-kPt8j4emm7rdMWQyL0F89o92q10gvCUa6sBkBtDJ7nV2+P7wpXczzOfoDJ49CKXe5CCqb8dc1W+ZdLlrKzSAnQ== @@ -4212,7 +4202,7 @@ dependencies: tslib "^2.6.2" -"@smithy/util-middleware@^3.0.7", "@smithy/util-middleware@^3.0.8": +"@smithy/util-middleware@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.8.tgz#372bc7a2845408ad69da039d277fc23c2734d0c6" integrity sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA== @@ -4220,7 +4210,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/util-retry@^3.0.7", "@smithy/util-retry@^3.0.8": +"@smithy/util-retry@^3.0.8": version "3.0.8" resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.8.tgz#9c607c175a4d8a87b5d8ebaf308f6b849e4dc4d0" integrity sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow== @@ -4229,7 +4219,7 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/util-stream@^3.1.9", "@smithy/util-stream@^3.2.1": +"@smithy/util-stream@^3.2.1": version "3.2.1" resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.2.1.tgz#f3055dc4c8caba8af4e47191ea7e773d0e5a429d" integrity sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A== @@ -4266,7 +4256,7 @@ "@smithy/util-buffer-from" "^3.0.0" tslib "^2.6.2" -"@smithy/util-waiter@^3.1.6": +"@smithy/util-waiter@^3.1.7": version "3.1.7" resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.7.tgz#e94f7b9fb8e3b627d78f8886918c76030cf41815" integrity sha512-d5yGlQtmN/z5eoTtIYgkvOw27US2Ous4VycnXatyoImIF9tzlcpnKqQ/V7qhvJmb2p6xZne1NopCLakdTnkBBQ== @@ -4275,10 +4265,10 @@ "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@storybook/addon-actions@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-8.4.1.tgz#1e0470c5c8fd53aacc7f976bbecfb2f610d9a195" - integrity sha512-D6KohTIA4JCHNol1X7Whp4LpOVU4cS5FfyOorwYo/WIzpHrUYc4Pw/+ex6DOmU/kgrk14mr8d9obVehKW7iNtA== +"@storybook/addon-actions@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-8.4.2.tgz#3aead1b324ff78144f004f22aa6784b1c1d8a13b" + integrity sha512-+hA200XN5aeA4T3jq8IifQq6Y+9FyNQ0Q+blM1L0Tl7WLzBc7B1kHQnKvhSj5pvMSBWc/Q/kY7Ev5t9gdOu13g== dependencies: "@storybook/global" "^5.0.0" "@types/uuid" "^9.0.1" @@ -4286,103 +4276,103 @@ polished "^4.2.2" uuid "^9.0.0" -"@storybook/addon-backgrounds@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.1.tgz#daf01a4e59097ad53355e72b61075aa7d5a2cc0e" - integrity sha512-DIT1E9R9Sds8KTC+0m2X5cVa8hTNcKY1XKYTI9QdzQvdZzOt+K93AJqq2x8k5glingqUVpB6v2fSDmCUXp4+4g== +"@storybook/addon-backgrounds@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.2.tgz#56adb5772df3b9c0625aaca63ac3d867c952680c" + integrity sha512-s4uag5VKuk8q2MSnuNS7Sv+v1/mykzGPXe/zZRW2ammtkdHp8Uy78eQS2G0aiG02chXCX+qQgWMyy5QItDcTFQ== dependencies: "@storybook/global" "^5.0.0" memoizerific "^1.11.3" ts-dedent "^2.0.0" -"@storybook/addon-controls@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-8.4.1.tgz#1c051b0b3c20273717f9f581725fd98ca81660aa" - integrity sha512-3ahbYdDx7iFUd4X1KelMSuPqVnladc0bH4m6DQZyN+wkRxdRlOD6iOGuOe2qi1Gv0b2VuVAt253i75tK/TPNLw== +"@storybook/addon-controls@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-8.4.2.tgz#441320611e5f3aff7bdc5c740e0925b9728bd137" + integrity sha512-raCbHEj1xl4F3wKH6IdfEXNRaxKpY4QGhjSTE8Pte5iJSVhKG86taLqqRr+4dC7H1/LVMPU1XCGV4mkgDGtyxQ== dependencies: "@storybook/global" "^5.0.0" dequal "^2.0.2" ts-dedent "^2.0.0" -"@storybook/addon-docs@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-8.4.1.tgz#a53b32dd6482a8196038330ff06d0b9bcdef0019" - integrity sha512-yPD/NssJf7pMJzaKvma02C6yX8ykPVnEjhRbNYcBNM8s8g/cT5JkROvIB+FOb4T81yhdfbGg9bGkpAXGX270IQ== +"@storybook/addon-docs@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-8.4.2.tgz#43533b43bbaa8662bfcc69c343444a703d434a69" + integrity sha512-jIpykha7hv2Inlrq31ZoYg2QhuCuvcO+Q+uvhT45RDTB+2US/fg3rJINKlw2Djq8RPPOXvty5W0yvE6CrWKhnQ== dependencies: "@mdx-js/react" "^3.0.0" - "@storybook/blocks" "8.4.1" - "@storybook/csf-plugin" "8.4.1" - "@storybook/react-dom-shim" "8.4.1" + "@storybook/blocks" "8.4.2" + "@storybook/csf-plugin" "8.4.2" + "@storybook/react-dom-shim" "8.4.2" react "^16.8.0 || ^17.0.0 || ^18.0.0" react-dom "^16.8.0 || ^17.0.0 || ^18.0.0" ts-dedent "^2.0.0" "@storybook/addon-essentials@^8.0.0": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-8.4.1.tgz#98329606098c4b7fcb22a3968acba5fc539c821a" - integrity sha512-Hmb5fpVzQgyCacDtHeE7HJqIfolzeOnedsLyJVYVpKns/uOWXqpDuU8Fc0s3yTjr1QPIRKtbqV1STxoyXj2how== - dependencies: - "@storybook/addon-actions" "8.4.1" - "@storybook/addon-backgrounds" "8.4.1" - "@storybook/addon-controls" "8.4.1" - "@storybook/addon-docs" "8.4.1" - "@storybook/addon-highlight" "8.4.1" - "@storybook/addon-measure" "8.4.1" - "@storybook/addon-outline" "8.4.1" - "@storybook/addon-toolbars" "8.4.1" - "@storybook/addon-viewport" "8.4.1" + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-8.4.2.tgz#c633cb7eee48e2c6c5dbdc7cadebdf8191adf78c" + integrity sha512-+/vfPrXM/GWU3Kbrg92PepwAZr7lOeulTTYF4THK0CL3DfUUlkGNpBPLP5PtjCuIkVrTCjXiIEdVWk47d5m2+w== + dependencies: + "@storybook/addon-actions" "8.4.2" + "@storybook/addon-backgrounds" "8.4.2" + "@storybook/addon-controls" "8.4.2" + "@storybook/addon-docs" "8.4.2" + "@storybook/addon-highlight" "8.4.2" + "@storybook/addon-measure" "8.4.2" + "@storybook/addon-outline" "8.4.2" + "@storybook/addon-toolbars" "8.4.2" + "@storybook/addon-viewport" "8.4.2" ts-dedent "^2.0.0" -"@storybook/addon-highlight@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-8.4.1.tgz#89aa1b2dba43a351355f98930274f8828f6d6a75" - integrity sha512-BBkUd6+i7lUEWZwoJDlUIwrs7EXkk+EoREUi27iiA1Lilw+NNhoC3kcBmj3+MccjRyeMeIWAgYyXF5qeB2s/JQ== +"@storybook/addon-highlight@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-8.4.2.tgz#77fae7df40e178d33ff8e0bcf34282768d34dc5a" + integrity sha512-vTtwp7nyJ09SXrsMnH+pukCjHjRMjQXgHZHxvbrv09uoH8ldQMv9B7u+X+9Wcy/jYSKFz/ng7pWo4b4a2oXHkg== dependencies: "@storybook/global" "^5.0.0" -"@storybook/addon-measure@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-8.4.1.tgz#18a8f1286bb1c2f50eed64790d6ee09ef0a15f9d" - integrity sha512-Pg1ROj29hKt7grL/HmbIJ10WrkZf1Unx35SsP373bkPQ1ggYi9oxGqtfNchTF2zCb1xUpIikLYSJgkwdjqWxhA== +"@storybook/addon-measure@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-8.4.2.tgz#43b24d3246502e34b3f26780e380f143bd057fac" + integrity sha512-z+j6xQwcUBSpgzl1XDU+xU4YYgLraLMljECW7NvRNyJ/PYixvol8R3wtzWbr+CBpxmvbXjEJCPlF+EjF9/mBWQ== dependencies: "@storybook/global" "^5.0.0" tiny-invariant "^1.3.1" -"@storybook/addon-outline@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-8.4.1.tgz#fecde4f8a03bf70f416d7e8caa01d3fb4ca26023" - integrity sha512-LPZ0gGHfbru66Lkw1whnc3F/r1hfnoORBoF98Hp+cjH34gR4t8te6xq5qSiupRUULGdSLdBRs/4EGRBeELfVjQ== +"@storybook/addon-outline@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-8.4.2.tgz#cbf0f8fbb5c9a0a0a00a7ffdc67a823eeef05def" + integrity sha512-oTMlPEyT4CBqzcQbfemoJzJ6yzeRAmvrAx9ssaBcnQQRsKxo0D2Ri/Jmm6SNcR0yBHxYRkvIH+2phLw8aiflCQ== dependencies: "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-toolbars@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-8.4.1.tgz#a8dd4e57e071916984c6fb19cd37be47cddffd7c" - integrity sha512-yrzX6BFeJM5KFY0+ZAYfRax2QgWi2e5vF6yPz+MGIPr4nhHay0wTkOHhkBhIPBjQO9x0vqc7MS2EBDydCBWqlg== +"@storybook/addon-toolbars@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-8.4.2.tgz#0662c884ebc5c09b369644fc0f8ee3dca92ab1e9" + integrity sha512-DidzW/NQS224niMJIjcJI2ls83emqygUcS9GYNGgdc5Xwro/TPgGYOXP2qnXgYUxXQTHbrxmIbHdEehxC7CcYQ== -"@storybook/addon-viewport@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-8.4.1.tgz#f46e52d92a10ca880ff751401b1c0c5f8830a378" - integrity sha512-O6DcuUfXQTytjl7mj4ld4ZX9x2pUUWKUx1TxiuMuH0EKb612RyYcdpXpDQQwsIzLV/f2BOetk9jmO2/MymfbWQ== +"@storybook/addon-viewport@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-8.4.2.tgz#cc7014c9a64046de574334767936ee361e6f28c0" + integrity sha512-qVQ2UaxCNsUSFHnAAAizNPIJ/QwfMg7p5bBdpYROTZXJe+bxVp0rFzZmQgHZ3/sn+lzE4ItM4QEfxkfQUWi1ag== dependencies: memoizerific "^1.11.3" -"@storybook/blocks@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-8.4.1.tgz#6683ec554f92be5cc2990c0cff870c60d888c515" - integrity sha512-C4w5T5fhg0iONXozHQ1bh9im2Lr1BiY7Bj/9XoFjkc5YeCzxlMpujFA6Nmo4ToUFW90QbvKN7/QVhbrtY9O1Jg== +"@storybook/blocks@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-8.4.2.tgz#69f4458e4aeab1265ae6a304052c5239a0cb82da" + integrity sha512-yAAvmOWaD8gIrepOxCh/RxQqd/1xZIwd/V+gsvAhW/thawN+SpI+zK63gmcqAPLX84hJ3Dh5pegRk0SoHNuDVA== dependencies: "@storybook/csf" "^0.1.11" "@storybook/icons" "^1.2.12" ts-dedent "^2.0.0" -"@storybook/builder-webpack5@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/builder-webpack5/-/builder-webpack5-8.4.1.tgz#5406600591b4838cacc046fbbdc33b46f2d92be0" - integrity sha512-rqSJcxcYiQyceNFSrT9qnI6hrW4/petb1n+oN8nG5HrRsl0zxOVzamMVyNzZxrAMKvq+VMJtLe1rQi8FnJNunw== +"@storybook/builder-webpack5@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/builder-webpack5/-/builder-webpack5-8.4.2.tgz#ea2dce291f84c40e6c977c7dcdc6b9ffaab42aa8" + integrity sha512-Pqa0/sqqEujzcvs+/Cwf/5qRLC+atmceROCFokMOgpIaorTXlbmiQdJ2dBhMFNugLvXfL7dVQBjBfiuzhsQ57g== dependencies: - "@storybook/core-webpack" "8.4.1" + "@storybook/core-webpack" "8.4.2" "@types/node" "^22.0.0" "@types/semver" "^7.3.4" browser-assert "^1.2.1" @@ -4408,23 +4398,23 @@ webpack-hot-middleware "^2.25.1" webpack-virtual-modules "^0.6.0" -"@storybook/components@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-8.4.1.tgz#90b92e2a187af2e51bf6e8ad7e1c8b9c718a57ad" - integrity sha512-bMPclbBhrWxhFlwqrC/h4fPLl05ouoi5D8SkQTHjeVxWN9eDnMVi76xM0YDct302Z3f0x5S3plIulp+4XRxrvg== +"@storybook/components@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-8.4.2.tgz#e9e7d5dfaef3e36a2654c6bfbd79aa5a4f307a20" + integrity sha512-+W59oF7D73LAxLNmCfFrfs98cH9pyNHK9HlJoO5/lKbK4IdWhhOoqUR/AJ3ueksoLuetFat4DxyE8SN1H4Bvrg== -"@storybook/core-webpack@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/core-webpack/-/core-webpack-8.4.1.tgz#28682704e33545874991bf5a1d84b644aa14153a" - integrity sha512-TptbDGaj9a8wJMF4g+C8t02CXl4BSd0BA/qGWBvzn3j4FJqeQ/m8elOXLYZrPbQKI6PjP0J4ayHkXdX2h0/tUw== +"@storybook/core-webpack@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/core-webpack/-/core-webpack-8.4.2.tgz#989c109c6cae7542b269ef9b4351138f1350b1c0" + integrity sha512-bzGvzrLK/oDE9YlKayDEplcECURSa1oRkvV7rxI2sOTNfwuoxHJapvxFxazEKAHMVeSwfWDf4uKK0XeG2R/arA== dependencies: "@types/node" "^22.0.0" ts-dedent "^2.0.0" -"@storybook/core@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-8.4.1.tgz#e6094f3c7cc2f0c81d1c1195c91a7230641ba9eb" - integrity sha512-q3Q4OFBj7MHHbIFYk/Beejlqv5j7CC3+VWhGcr0TK3SGvdCIZ7EliYuc5JIOgDlEPsnTIk+lkgWI4LAA9mLzSw== +"@storybook/core@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-8.4.2.tgz#1e591fc6efef30e4e4fde4f266ca0cc9e756e516" + integrity sha512-hF8GWoUZTjwwuV5j4OLhMHZtZQL/NYcVUBReC2Ba06c8PkFIKqKZwATr1zKd301gQ5Qwcn9WgmZxJTMgdKQtOg== dependencies: "@storybook/csf" "^0.1.11" better-opn "^3.0.2" @@ -4438,10 +4428,10 @@ util "^0.12.5" ws "^8.2.3" -"@storybook/csf-plugin@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-8.4.1.tgz#09b40718a752af3252e3ecced267445d9bdc110b" - integrity sha512-MdQkyq6mJ31lBsWCG9VNtx8O0oLSc5h4kvWDPyIP6Dn58K0Hv2z9qvxxSvtFjXA7ES9X+ivjorTke1kearifhg== +"@storybook/csf-plugin@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-8.4.2.tgz#3d098179c6ece8f4a053fdb258981cc6b467a1cb" + integrity sha512-1f0t6W5xbC1sSAHHs3uXYPIQs2NXAEtIGqn6X9i3xbbub6hDS8PF8BIm7dOjQ8dZOPp7d9ltR64V5CoLlsOigA== dependencies: unplugin "^1.3.1" @@ -4462,23 +4452,23 @@ resolved "https://registry.yarnpkg.com/@storybook/icons/-/icons-1.2.12.tgz#3e4c939113b67df7ab17b78f805dbb57f4acf0db" integrity sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q== -"@storybook/manager-api@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-8.4.1.tgz#7f625d3eef1dfb35102ee1d73e334aacda2a09fe" - integrity sha512-7hb2k4zsp6lREGZbQ85QOlsC8EIMZXuY9Pg12VUgaZd+LmLjLuaqtrxRz3SwIgIWsRpFun9AHO0X37DmYNGTSw== +"@storybook/manager-api@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-8.4.2.tgz#6bf972accfa6339034b50a7338654ad433aac6d1" + integrity sha512-rhPc4cgQDKDH8NUyRh/ZaJW7QIhR/PO5MNX4xc+vz71sM2nO7ONA/FrgLtCuu4SULdwilEPvGefYvLK0dE+Caw== "@storybook/node-logger@^8.0.0": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-8.4.1.tgz#0bc4cf4060adc85b07bb98ab69c0777464546498" - integrity sha512-RXD2Vgp3HBbdGIf9I2ShvQSP3pMNxGk0cInazT8iQZArgwfO0NXFzpWJphqEjNOLg6yrMUJfAflyoua0Z6WU5A== + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-8.4.2.tgz#3310aa77eec4b87455a67c48af75be5654d2fa34" + integrity sha512-7IOAbyByGdrAr3cidEULFMnuCF4i4NyxW0emI3MKl9NKAVeWVWpeHL1tL1JvCIO57bMNH2Jko80m87TmEH82vg== -"@storybook/preset-react-webpack@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/preset-react-webpack/-/preset-react-webpack-8.4.1.tgz#b5409acf42ae9acfa00eece104de0937ce281d61" - integrity sha512-Cm+u3/avHdoneEFHnvFRMPAElWtxyyOkcVsWHkM0rVhj7bxkzOyrBrenm1GiB8NamRosumsEnhREYFo2lthU2A== +"@storybook/preset-react-webpack@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/preset-react-webpack/-/preset-react-webpack-8.4.2.tgz#7c67cbbfe54131019931732558dea8b838018592" + integrity sha512-Gt9hQRo1ythGFzATNV4WgQDlMDzBgiq7ks+YkW2/Xu5ZkrRrM/gK75fhmbICrknZl2pPPfNFXlECPWKAeTmwFA== dependencies: - "@storybook/core-webpack" "8.4.1" - "@storybook/react" "8.4.1" + "@storybook/core-webpack" "8.4.2" + "@storybook/react" "8.4.2" "@storybook/react-docgen-typescript-plugin" "1.0.6--canary.9.0c3f3b7.0" "@types/node" "^22.0.0" "@types/semver" "^7.3.4" @@ -4490,10 +4480,10 @@ tsconfig-paths "^4.2.0" webpack "5" -"@storybook/preview-api@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-8.4.1.tgz#473db167a0c1b00a85a73c8ee04163cd3a6d7e2b" - integrity sha512-VdnESYfXCUasNtMd5s1Q8DPqMnAUdpROn8mE8UAD79Cy7DSNesI1q0SATuJqh5iYCT/+3Tpjfghsr2zC/mOh8w== +"@storybook/preview-api@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-8.4.2.tgz#77640e16c8662b9aa3a9dd4ec1b7362b9b4f6b3f" + integrity sha512-5X/xvIvDPaWJKUBCo5zVeBbbjkhnwcI2KPkuOgrHVRRhuQ5WqD0RYxVtOOFNyQXme7g0nNl5RFNgvT7qv9qGeg== "@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0": version "1.0.6--canary.9.0c3f3b7.0" @@ -4508,37 +4498,37 @@ react-docgen-typescript "^2.2.2" tslib "^2.0.0" -"@storybook/react-dom-shim@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-8.4.1.tgz#aa6d4bddd5517748865b6575a70435ed35669ff5" - integrity sha512-XhvuqkpqtcUjDA8XE4osq140SCddX3VHMdj+IwlrMdoSl32CAya01TH5YDDx6YMy6hM/QQbyVKaemG7RB/oU4Q== +"@storybook/react-dom-shim@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-8.4.2.tgz#cefc4b2cb7d3f632492867a3d5edbf568418c66a" + integrity sha512-FZVTM1f34FpGnf6e3MDIKkz05gmn8H9wEccvQAgr8pEFe8VWfrpVWeUrmatSAfgrCMNXYC1avDend8UX6IM8Fg== "@storybook/react-webpack5@^8.0.0": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/react-webpack5/-/react-webpack5-8.4.1.tgz#bf15bc60d8b84635a9f99e3f3cc45efc9c49a3b8" - integrity sha512-P4ZedIAx5SmkyKwTH5zbwG+en+DeeQfOT1nw0sL0aybVPGcwV+swyzcCnJFnmn0UIhSxuZ1InjN36nDZ6821mw== + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/react-webpack5/-/react-webpack5-8.4.2.tgz#4d769f0c8d0309b275cd9f888cb95fdeb35f0edc" + integrity sha512-d2/kA7X7bFYnf3WI/aVKfg6ICMHiBIheSmgeY43R1E4K3KUjsJIVJDIliT+UKVZkEo0ie+rglZu0la1DO5Kl+Q== dependencies: - "@storybook/builder-webpack5" "8.4.1" - "@storybook/preset-react-webpack" "8.4.1" - "@storybook/react" "8.4.1" + "@storybook/builder-webpack5" "8.4.2" + "@storybook/preset-react-webpack" "8.4.2" + "@storybook/react" "8.4.2" "@types/node" "^22.0.0" -"@storybook/react@8.4.1", "@storybook/react@^8.0.0": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-8.4.1.tgz#f75130b2bbed157f91de5f66b381ee063227c1a6" - integrity sha512-ZwszrzV47nWQEZ0X4LyNgv5OFq4iy/7LpmxW6IncIO7PWm70OWG2BVtKFNsNQx0LY+hOtllWZbvg06mPQzahFA== +"@storybook/react@8.4.2", "@storybook/react@^8.0.0": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-8.4.2.tgz#a8d61902e0b72e99e96dfde4251eb0ce79249905" + integrity sha512-rO5/aVKBVhIKENcL7G8ud4QKC5OyWBPCkJIvY6XUHIuhErJy9/4pP+sZ85jypVwx5kq+EqCPF8AEOWjIxB/4/Q== dependencies: - "@storybook/components" "8.4.1" + "@storybook/components" "8.4.2" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "8.4.1" - "@storybook/preview-api" "8.4.1" - "@storybook/react-dom-shim" "8.4.1" - "@storybook/theming" "8.4.1" + "@storybook/manager-api" "8.4.2" + "@storybook/preview-api" "8.4.2" + "@storybook/react-dom-shim" "8.4.2" + "@storybook/theming" "8.4.2" -"@storybook/theming@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.4.1.tgz#483497e4853497555c233b7a0b4a92181f7aeb98" - integrity sha512-Sz24isryVFZaVahXkjgnCsMAQqQeeKg41AtLsldlYdesIo6fr5tc6/SkTUy+CYadK4Dkhqp+vVRDnwToYYRGhA== +"@storybook/theming@8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.4.2.tgz#0e385869a225040e326cfba301b6cdccd31dcb21" + integrity sha512-9j4fnu5LcV+qSs1rdwf61Bt14lms0T1LOZkHxGNcS1c1oH+cPS+sxECh2lxtni+mvOAHUlBs9pKhVZzRPdWpvg== "@szmarczak/http-timer@^4.0.5": version "4.0.6" @@ -5096,9 +5086,9 @@ "@types/node" "*" "@types/node@*", "@types/node@^22.0.0", "@types/node@^22.5.5": - version "22.8.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.8.7.tgz#04ab7a073d95b4a6ee899f235d43f3c320a976f4" - integrity sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q== + version "22.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.0.tgz#b7f16e5c3384788542c72dc3d561a7ceae2c0365" + integrity sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ== dependencies: undici-types "~6.19.8" @@ -5162,9 +5152,9 @@ integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA== "@types/qs@*": - version "6.9.16" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.16.tgz#52bba125a07c0482d26747d5d4947a64daf8f794" - integrity sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A== + version "6.9.17" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.17.tgz#fc560f60946d0aeff2f914eb41679659d3310e1a" + integrity sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ== "@types/range-parser@*", "@types/range-parser@^1.2.3": version "1.2.7" @@ -5329,62 +5319,62 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@8.12.2", "@typescript-eslint/eslint-plugin@^8.0.0": - version "8.12.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.2.tgz#c2ef660bb83fd1432368319312a2581fc92ccac1" - integrity sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw== +"@typescript-eslint/eslint-plugin@8.13.0", "@typescript-eslint/eslint-plugin@^8.0.0": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.13.0.tgz#650c50b8c795b5d092189f139f6d00535b5b0f3d" + integrity sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.12.2" - "@typescript-eslint/type-utils" "8.12.2" - "@typescript-eslint/utils" "8.12.2" - "@typescript-eslint/visitor-keys" "8.12.2" + "@typescript-eslint/scope-manager" "8.13.0" + "@typescript-eslint/type-utils" "8.13.0" + "@typescript-eslint/utils" "8.13.0" + "@typescript-eslint/visitor-keys" "8.13.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@8.12.2", "@typescript-eslint/parser@^8.0.0": - version "8.12.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.12.2.tgz#2e8173b34e1685e918b2d571c16c906d3747bad2" - integrity sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw== +"@typescript-eslint/parser@8.13.0", "@typescript-eslint/parser@^8.0.0": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.13.0.tgz#ef76203b7cac515aa3ccc4f7ce5320dd61c46b29" + integrity sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ== dependencies: - "@typescript-eslint/scope-manager" "8.12.2" - "@typescript-eslint/types" "8.12.2" - "@typescript-eslint/typescript-estree" "8.12.2" - "@typescript-eslint/visitor-keys" "8.12.2" + "@typescript-eslint/scope-manager" "8.13.0" + "@typescript-eslint/types" "8.13.0" + "@typescript-eslint/typescript-estree" "8.13.0" + "@typescript-eslint/visitor-keys" "8.13.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.12.2": - version "8.12.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz#6db0213745e6392c8e90fe9af5915e6da32eb94a" - integrity sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ== +"@typescript-eslint/scope-manager@8.13.0": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz#2f4aed0b87d72360e64e4ea194b1fde14a59082e" + integrity sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA== dependencies: - "@typescript-eslint/types" "8.12.2" - "@typescript-eslint/visitor-keys" "8.12.2" + "@typescript-eslint/types" "8.13.0" + "@typescript-eslint/visitor-keys" "8.13.0" -"@typescript-eslint/type-utils@8.12.2": - version "8.12.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.12.2.tgz#132b0c52d45f6814e6f2e32416c7951ed480b016" - integrity sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ== +"@typescript-eslint/type-utils@8.13.0": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.13.0.tgz#8c8fa68490dcb9ae1687ffc7de8fbe23c26417bd" + integrity sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA== dependencies: - "@typescript-eslint/typescript-estree" "8.12.2" - "@typescript-eslint/utils" "8.12.2" + "@typescript-eslint/typescript-estree" "8.13.0" + "@typescript-eslint/utils" "8.13.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@8.12.2": - version "8.12.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.12.2.tgz#8d70098c0e90442495b53d0296acdca6d0f3f73c" - integrity sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA== +"@typescript-eslint/types@8.13.0": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.13.0.tgz#3f35dead2b2491a04339370dcbcd17bbdfc204d8" + integrity sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng== -"@typescript-eslint/typescript-estree@8.12.2": - version "8.12.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz#206df9b1cbff212aaa9401985ef99f04daa84da5" - integrity sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow== +"@typescript-eslint/typescript-estree@8.13.0": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz#db8c93dd5437ca3ce417a255fb35ddc3c12c3e95" + integrity sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g== dependencies: - "@typescript-eslint/types" "8.12.2" - "@typescript-eslint/visitor-keys" "8.12.2" + "@typescript-eslint/types" "8.13.0" + "@typescript-eslint/visitor-keys" "8.13.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -5392,143 +5382,143 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@8.12.2": - version "8.12.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.12.2.tgz#726cc9f49f5866605bd15bbc1768ffc15637930e" - integrity sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A== +"@typescript-eslint/utils@8.13.0": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.13.0.tgz#f6d40e8b5053dcaeabbd2e26463857abf27d62c0" + integrity sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.12.2" - "@typescript-eslint/types" "8.12.2" - "@typescript-eslint/typescript-estree" "8.12.2" + "@typescript-eslint/scope-manager" "8.13.0" + "@typescript-eslint/types" "8.13.0" + "@typescript-eslint/typescript-estree" "8.13.0" -"@typescript-eslint/visitor-keys@8.12.2": - version "8.12.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz#94d7410f78eb6d134b9fcabaf1eeedb910ba8c38" - integrity sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA== +"@typescript-eslint/visitor-keys@8.13.0": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz#e97b0d92b266ef38a1faf40a74da289b66683a5b" + integrity sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw== dependencies: - "@typescript-eslint/types" "8.12.2" + "@typescript-eslint/types" "8.13.0" eslint-visitor-keys "^3.4.3" -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== "@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^2.1.1": @@ -5566,10 +5556,10 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -"@yarnpkg/parsers@3.0.0-rc.46": - version "3.0.0-rc.46" - resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" - integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== +"@yarnpkg/parsers@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.2.tgz#48a1517a0f49124827f4c37c284a689c607b2f32" + integrity sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA== dependencies: js-yaml "^3.10.0" tslib "^2.4.0" @@ -6614,9 +6604,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001669: - version "1.0.30001677" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz#27c2e2c637e007cfa864a16f7dfe7cde66b38b5f" - integrity sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog== + version "1.0.30001678" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001678.tgz#b930b04cd0b295136405634aa32ad540d7eeb71e" + integrity sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw== canvas-sequencer@^3.1.0: version "3.1.0" @@ -8196,9 +8186,9 @@ electron-publish@25.1.7: mime "^2.5.2" electron-to-chromium@^1.5.41: - version "1.5.50" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz#d9ba818da7b2b5ef1f3dd32bce7046feb7e93234" - integrity sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw== + version "1.5.52" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.52.tgz#2bed832c95a56a195504f918150e548474687da8" + integrity sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ== electron-updater@^6.1.1: version "6.3.9" @@ -8408,9 +8398,9 @@ es-errors@^1.2.1, es-errors@^1.3.0: integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-iterator-helpers@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz#f6d745d342aea214fe09497e7152170dc333a7a6" - integrity sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz#2f1a3ab998b30cb2d10b195b587c6d9ebdebf152" + integrity sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q== dependencies: call-bind "^1.0.7" define-properties "^1.2.1" @@ -8420,6 +8410,7 @@ es-iterator-helpers@^1.1.0: function-bind "^1.1.2" get-intrinsic "^1.2.4" globalthis "^1.0.4" + gopd "^1.0.1" has-property-descriptors "^1.0.2" has-proto "^1.0.3" has-symbols "^1.0.3" @@ -9632,9 +9623,9 @@ globals@^14.0.0: integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== globals@^15.9.0: - version "15.11.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-15.11.0.tgz#b96ed4c6998540c6fb824b24b5499216d2438d6e" - integrity sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw== + version "15.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-15.12.0.tgz#1811872883ad8f41055b61457a130221297de5b5" + integrity sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ== globalthis@^1.0.1, globalthis@^1.0.3, globalthis@^1.0.4: version "1.0.4" @@ -12663,13 +12654,13 @@ nwsapi@^2.2.12, nwsapi@^2.2.2: integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== "nx@>=17.1.2 < 21": - version "20.0.7" - resolved "https://registry.yarnpkg.com/nx/-/nx-20.0.7.tgz#ddf2fc19b8d91f97db0256202307a29bfbeba39e" - integrity sha512-Un7eMAqTx+gRB4j6hRWafMvOso4pmFg3Ff+BmfFOgqD8XdE+xV/+Ke9mPTfi4qYD5eQiY1lO15l3dRuBH7+AJw== + version "20.0.10" + resolved "https://registry.yarnpkg.com/nx/-/nx-20.0.10.tgz#92692bec5adea2c8bb8b3a53bbff249ceb7cbe52" + integrity sha512-QcPWtyfA8B0AevLLmWLmOwRXAeelpSx3osEBqpLJgsNnpd1XOq/dLUQwSOOFFTLaWVkukU3qRanE5ReTllj+2Q== dependencies: "@napi-rs/wasm-runtime" "0.2.4" "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "3.0.0-rc.46" + "@yarnpkg/parsers" "3.0.2" "@zkochan/js-yaml" "0.0.7" axios "^1.7.4" chalk "^4.1.0" @@ -12700,16 +12691,16 @@ nwsapi@^2.2.12, nwsapi@^2.2.2: yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "20.0.7" - "@nx/nx-darwin-x64" "20.0.7" - "@nx/nx-freebsd-x64" "20.0.7" - "@nx/nx-linux-arm-gnueabihf" "20.0.7" - "@nx/nx-linux-arm64-gnu" "20.0.7" - "@nx/nx-linux-arm64-musl" "20.0.7" - "@nx/nx-linux-x64-gnu" "20.0.7" - "@nx/nx-linux-x64-musl" "20.0.7" - "@nx/nx-win32-arm64-msvc" "20.0.7" - "@nx/nx-win32-x64-msvc" "20.0.7" + "@nx/nx-darwin-arm64" "20.0.10" + "@nx/nx-darwin-x64" "20.0.10" + "@nx/nx-freebsd-x64" "20.0.10" + "@nx/nx-linux-arm-gnueabihf" "20.0.10" + "@nx/nx-linux-arm64-gnu" "20.0.10" + "@nx/nx-linux-arm64-musl" "20.0.10" + "@nx/nx-linux-x64-gnu" "20.0.10" + "@nx/nx-linux-x64-musl" "20.0.10" + "@nx/nx-win32-arm64-msvc" "20.0.10" + "@nx/nx-win32-x64-msvc" "20.0.10" object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" @@ -12775,11 +12766,11 @@ obuf@^1.0.0, obuf@^1.1.2: integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== oclif@^4.0.0: - version "4.15.19" - resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.15.19.tgz#3a3c51cb021df51cd4a14250f9e5a666dd3a6d52" - integrity sha512-FM3hIgmCtKc7YTUPCdHGILI/UgtYC7IjYlUJ0xGVCcpfhsAmwj6DieJC+HmuMczY+bhWLxfKEw5SbZDy8w4VSA== + version "4.15.20" + resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.15.20.tgz#2e033466921c787f4dceed0156bbc0cc5635c809" + integrity sha512-QQC1k+GNj1grEZMwIrE2RGRnckzDx4+jMK4P0w7eWSoq0EbiG1Pr0CioWRbA5wNnUo5oQx4DyxDMq5sVpxHZgw== dependencies: - "@aws-sdk/client-cloudfront" "^3.679.0" + "@aws-sdk/client-cloudfront" "^3.682.0" "@aws-sdk/client-s3" "^3.685.0" "@inquirer/confirm" "^3.1.22" "@inquirer/input" "^2.2.4" @@ -13922,9 +13913,9 @@ react-draggable@^4.4.5: prop-types "^15.8.1" react-dropzone@^14.2.1: - version "14.3.3" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.3.3.tgz#8f2cf46567615123c91e1ba59b07e6c815e5aef0" - integrity sha512-38yaWovqDqZdtn7LKTE5lFdqc57hYbPdS/oIxyhmaTP/yzC0yztPxnNy+poxew5HKF44gzGCNcNDBYjqlCXr6g== + version "14.3.5" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.3.5.tgz#1a8bd312c8a353ec78ef402842ccb3589c225add" + integrity sha512-9nDUaEEpqZLOz5v5SUcFA0CjM4vq8YbqO0WRls+EYT7+DvxUdzDPKNCPLqGfj3YL9MsniCLCD4RFA6M95V6KMQ== dependencies: attr-accept "^2.2.4" file-selector "^2.1.0" @@ -15054,11 +15045,11 @@ statuses@2.0.1: integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== storybook@^8.0.0: - version "8.4.1" - resolved "https://registry.yarnpkg.com/storybook/-/storybook-8.4.1.tgz#97baa471677566d614a5677deab0cd243c0142dc" - integrity sha512-0tfFIFghjho9FtnFoiJMoxhcs2iIdvEF81GTSVnTsDVJrYA84nB+FxN3UY1fT0BcQ8BFlbf+OhSjZL7ufqqWKA== + version "8.4.2" + resolved "https://registry.yarnpkg.com/storybook/-/storybook-8.4.2.tgz#02e71cf32db25af713b3681b1b52be1403b478dd" + integrity sha512-GMCgyAulmLNrkUtDkCpFO4SB77YrpiIxq6e5tzaQdXEuaDu1mdNwOuP3VG7nE2FzxmqDvagSgriM68YW9iFaZA== dependencies: - "@storybook/core" "8.4.1" + "@storybook/core" "8.4.2" string-length@^4.0.1: version "4.0.2" @@ -15781,13 +15772,13 @@ typedarray@^0.0.6: integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript-eslint@^8.0.1: - version "8.12.2" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.12.2.tgz#e273d69af30b478b1c410f4159d675ce7925f9a7" - integrity sha512-UbuVUWSrHVR03q9CWx+JDHeO6B/Hr9p4U5lRH++5tq/EbFq1faYZe50ZSBePptgfIKLEti0aPQ3hFgnPVcd8ZQ== + version "8.13.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.13.0.tgz#c7d92cc06188176c7d0e3825e10305b9c22fb102" + integrity sha512-vIMpDRJrQd70au2G8w34mPps0ezFSPMEX4pXkTzUkrNbRX+36ais2ksGWN0esZL+ZMaFJEneOBHzCgSqle7DHw== dependencies: - "@typescript-eslint/eslint-plugin" "8.12.2" - "@typescript-eslint/parser" "8.12.2" - "@typescript-eslint/utils" "8.12.2" + "@typescript-eslint/eslint-plugin" "8.13.0" + "@typescript-eslint/parser" "8.13.0" + "@typescript-eslint/utils" "8.13.0" "typescript@>=3 < 6", typescript@^5.1.3, typescript@^5.4.3, typescript@^5.5.0: version "5.6.3"